Memory Manager Error and Log Messages

This topic describes all diagnostic messages that the memory manager may generate.

See Also
Load Runner Example
Memory Manager Configuration Settings
Live Collaboration Server Memory Management
Memory Tracing Message Meaning
None—These messages are presented to the application user and written to the server log. Memory critical (FILE:LINE) An out of memory condition occurred. MX_MEMORY_SYSTEM_LIMIT was exceeded when FILE:LINE was attempted, and so KEEP memory was released. The retry was successful, but memory is LOW!
System memory limit exceeded (FILE:LINE) An out of memory condition occurred. MX_MEMORY_SYSTEM_LIMIT was exceeded when FILE:LINE was attempted, and so KEEP memory was released. The retry failed.
Missing header (FILE:LINE) An attempt was made to free memory with a bad (malformed) header when FILE:LINE was attempted, but the free operation was SKIPPED (probable memory leak).
Out of memory (FILE:LINE) A non-recoverable out-of-memory condition has occurred when FILE:LINE was attempted and a system abort/core dump is pending. The panic reserve is being used to write diagnostic information to the server log.
MX_MEMORY_TRACE—These messages are sent to stdout or the filename specified. Memory used changed by NUM This shows change in thread memory usage while executing a command. When you consistently get positive numbers it indicates a potential memory leak.
NUM bytes of memory allocated in NUM blocks, high water=NUM bytes This shows the byte and block count while executing a command relative to MX_MEMORY_KEEP_LIMIT setting. Includes high water mark to provide an accurate time-stamped indication of spikes to allow diagnosis of excessive memory consumption. Allocations are reported in chunks of 16k bytes, so when an application allocates 128 bytes, the allocated bytes NUM would increase by 16k. When the application allocates another 128 bytes, it would stay the same. In fact, the application could allocate 128 bytes 127 times before the stats would change. (On the 128th allocation, another 16k would be reported).

The 'allocated byte' stat includes 256k-384k for each thread that is running. As threads exit, this additional memory will either be returned to the keep pool (and increase the 'reserved bytes' stat), or returned to the operating system (and decrease the 'allocated bytes' stat).

NUM bytes of memory reserved in NUM blocks This shows the byte and block count while executing a command relative to MX_MEMORY_SYSTEM_LIMIT setting. The reserved pool is used for other purposes, particularly in saving blocks that contain 'global' allocations (blocks allocated but not freed by the owning thread). Thus, the keep size may exceed MX_MEMORY_KEEP_LIMIT by any amount. This is a normal operating characteristic of the system. Note the keep size will not grow in an unbounded fashion; it will level off after the system has been running for a while.