generate a dump of the operating
system's profile buffers
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
The options are as follows:
- Resume the collection of profile data.
- Operate on the CPU specified by cpuid, instead of all of them.
- Stop the collection of profile data.
- Extract values associated with the name list from the specified core instead of the default /dev/kmem.
- Extract the name list from the specified system instead of the default /bsd.
- Dump the contents of the profile buffers into a gmon-<id>.out file, where “id” is the ID of the CPU.
- Reset all the profile buffers. If the
-pflag is also specified, the profile files are generated before the buffers are reset.
-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
- default system
- default memory
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.
kgmon command appeared in