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
HISTORY
The kgmon
command appeared in
4.2BSD.