KGMON(8) System Manager's Manual KGMON(8)

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

kgmon [-bdhpr] [-c cpuid] [-M core] [-N system]

kgmon is a tool used when profiling the operating system. When no arguments are supplied, kgmon indicates the state of operating system profiling as running, off, or not configured (see config(1)). If the -p flag is specified, kgmon extracts profile data from the operating system and produces a gmon.out or gmon-<id>.out file suitable for later analysis by gprof(1).

The options are as follows:

Resume the collection of profile data.
cpuid
Operate on the CPU specified by cpuid. If this option is specified with -p, the output file name will be gmon-<id>.out instead of gmon.out. And if the cpuid argument is “all” , the operation is performed for each cpu.
Enable debug output.
Stop the collection of profile data.
core
Extract values associated with the name list from the specified core instead of the default /dev/kmem.
system
Extract the name list from the specified system instead of the default /netbsd.
Dump the contents of the profile buffers into a gmon.out or gmon-<id>.out file.
Reset all the profile buffers. If the -p flag is also specified, the gmon.out or gmon-<id>.out file is 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.

/netbsd
the default system
/dev/kmem
the default memory

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

config(1), gprof(1)

The kgmon command appeared in 4.2BSD.
August 10, 2021 NetBSD 10.0