| MONCONTROL(3) | Library Functions Manual | MONCONTROL(3) |
moncontrol —
control execution profile
#include
<sys/gmon.h>
void
moncontrol(int
mode);
An executable program compiled using the
-pg option to cc(1) automatically
includes calls to collect statistics for the gprof(1)
call-graph execution profiler. Profiling begins at program startup and ends
when the program calls exit. When the program exits, the profiling data are
written to the file
gmon.progname.pid.out,
then gprof(1) can be used to examine the results.
moncontrol()
selectively controls profiling within a program. When the program starts,
profiling begins. To stop the collection of histogram ticks and call counts
use moncontrol(0); to resume
the collection of histogram ticks and call counts use
moncontrol(1). This feature
allows the cost of particular operations to be measured. Note that an output
file will be produced on program exit regardless of the state of
moncontrol().
Do not call
moncontrol(0) if
pthread_create(3) will be called subsequently. While
profiling is stopped, pthread_create(3) does not allocate
the collection buffer for the new thread. This cannot be recovered by
moncontrol(1), resulting in
failure to collect the statistics for those threads.
| September 2, 2025 | Debian |