If profiling is enabled, then at every clock tick, the kernel updates an appropriate count in the samples buffer. The buffer samples contains size bytes and is divided into a series of 16-bit bins. Each bin counts the number of times the program counter was in a particular address range in the process when a clock tick occurred while profiling was enabled. The offset parameter is the lowest address at which the kernel takes pro- gram counter samples. The scale parameter ranges from 1 to 65536 and can be used to change the span of the bins.
Intermediate values provide approximate intermediate ranges.
A scale value of 0 disables profiling. The buffer samples contains an invalid address. The samples argument should really be a vector of type unsigned short . The format of the gmon.out file is undocumented.