Log entries
2024-02-05T00:22:00.699Z be06-eg611-krw2 NSX 1917610 FABRIC [nsx@6876 comp="nsx-edge" subcomp="datapathd" s2comp="stats" tname="stats59" level="ERROR" errorCode="EDG0400711"] rte malloc_heap is exhausted (100% is used)
2024-02-05T00:22:00.699Z be06-eg611-krw2 NSX 1917610 FABRIC [nsx@6876 comp="nsx-edge" subcomp="datapathd" s2comp="stats" tname="stats59" level="INFO"] trigger enter and exit maintenance mode
2024-02-05T00:22:00.814Z be06-eg611-krw2 124ed474ff88 1914309 - - 2024-02-05T00:22:00Z datapathd 1917610 stats tname="stats59" [ERROR] rte malloc_heap is exhausted (100% is used) errorCode="EDG0400711"
VMware NSX-T Data Center 3.x
VMware NSX 4.x
{
"Alloc_count": 37373,
"Alloc_size": 34357822400,
"Free_count": 1439,
"Free_size": 1915968, >>>
"Greatest_free_size": 15232,
"Heap id": 0,
"Heap name": "socket_0",
"Heap_size": 34359738368 >>>
},
Impact/Risks:
If rte_heap_memory is exhausted, edge triggers enter MM and exit MM, and systemd restarts all edge services. This operation is trying to mitigate rte_heap_memory exhaustion impact which depends on the amount of memory still available, and the configuration of the edge.
When a few percentage of memory is still available, most operations will still work fine. Datapath packet forwarding does not use the rte_heap, so it will continue to work. However, configuration changes and state synchronization may use the heap and may start to fail for services like firewall or LB.