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:
-b
- Resume the collection of profile data.
-c
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.
-d
- Enable debug output.
-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 /netbsd.
-p
- Dump the contents of the profile buffers into a
gmon.out or
gmon-<id>.out file.
-r
- 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.
The kgmon
command appeared in
4.2BSD.