KGMON(8)

NAME
kgmon - generate a dump of the operating system's profile buffers

SYNOPSIS
kgmon [-bhpr] [-c cpuid] [-M core] [-N system]

DESCRIPTION
kgmon is a tool used when profiling the operating system. When no arguments are supplied, kgmon indicates the state of per-CPU operating system profilings as “running”, “off”, or “not configured” (see config(8)). If the -p flag is specified, kgmon extracts profile data from the operating system and produces a file for each CPU suitable for later analysis by gprof(1).

The options are as follows:

-b  Resume the collection of profile data.

-c cpuid
    Operate on the CPU specified by cpuid, instead of all of them.

-h  Stop the collection of profile data.

-M core
    Extract values associated with the name list from the specified core instead of the default /dev/kmem.

-N system
    Extract the name list from the specified system instead of the default /bsd.

-p  Dump the contents of the profile buffers into a gmon-<id>.out file, where “id” is the ID of the CPU.

-r  Reset all the profile buffers. If the -p flag is also specified, the profile files are generated before the buffers are reset.

If neither -b nor -h is specified, the state of profiling collection remains unchanged. For example, if the -p flag is specified and profile data is being collected, profiling will be momentarily suspended, the operating system profile buffers will be dumped, and profiling will be immediately resumed.

kgmon requires the ability to open /dev/kmem which may be restricted based upon the value of the kern.allowkmem sysctl(8).

FILES
/bsd
    default system
/dev/kmem
    default memory

DIAGNOSTICS
Users with only read permission on /dev/kmem cannot change the state of profiling collection. They can get profile files with the warning that the data may be inconsistent if profiling is in progress.

SEE ALSO
gprof(1), config(8)

HISTORY
The kgmon command appeared in 4.2BSD.