A more sophisticated memory management tool is provided with 3DSpace (a shared library: mxmemory.dll on Windows, libmxmemory.so on Linux) that may be configured so that memory related problems in the server are detected. The memory manager also provides a way of exiting gracefully in the event of catastrophic memory-related failure, with enough information to diagnose the problem. Specifically, the memory manager can:
One of the most critical things the memory manager does is handle out-of-memory conditions. In order to manage this, upon startup/initialization, a 1MB "panic" memory reserve is allocated by the memory manager. Then, if an out-of-memory condition occurs:
The most important aspect of this handling is that when a memory related failure occurs, information is always posted to the server log files to clearly indicate the source of the problem. |