Ring buffer size

QNX SDP8.0System Analysis Toolkit (SAT) User's GuideUser

Although the size of the buffers is fixed, the maximum number of buffers used by a system is limited only by the amount of memory.

By default, the tracelogger utility requests the use of 8 buffers per CPU, which means each buffer ring is about 128 KB in size. The buffers share kernel memory with the application(s), and the kernel automatically allocates memory when this data-capture utility requests a certain number of buffers. The kernel allocates the buffers in contiguous physical memory space. If the data-capture program requests a larger block than is available contiguously, the kernel returns an error message.

For all intents and purposes, the number of events the instrumented kernel generates is infinite. Except for severe filtering or logging for only a few seconds, the kernel will probably exhaust each ring of buffers, no matter how large it is. To allow the kernel to continue logging indefinitely, any data-capture program must promptly consume and return the buffers to the kernel.

Page updated: