Performance Tuning and Debugging

The config.yaml parameter allocator.alternateNativeAllocator allows the tcmalloc native memory allocator to be used instead of the system native memory allocator. This is supported in the V1 and V2 deployment modes.

This allocator may exhibit better performance when it is suspected that the system allocator is causing memory fragmentation for a particular workload. Memory fragmentation causes either unexpected large memory use or a continual increase in memory use. Memory fragmentation can be difficult to diagnose, and its occurrence can be sensitive to various factors. If memory fragmentation is suspected, contact IBM support.

To help diagnose the cause of unexpected large native memory use, native heap profiling can be performed with tcmalloc. To enable heap profiling, tcmalloc is enabled and allocator.heapProfile is set to true. Heap profile reports will be written to /logs with a filename prefix of tx_tcmalloc_heap_profile. Heap profiling should not be routinely performed for production workloads. Contact IBM support for additional assistance.