RHEL8 - The pitfalls of using zone_reclaim_mode in a multi-node server
Issue
There were changes between RHEL7 and RHEL8 which, under certain conditions, can severely impact the performance of an application/server by using vm.zone_reclaim_mode=n
(any value other than 0
) on a multi node server.
The impact may be seen in areas such as:
- Application performance issue
- Slow IO while free memory is available
- IO performance drops after time
In these examples, the performance decline is due to memory reclamation in a Memory Zone or Node that has become full even though there appears to be plenty of free memory overall. Unless absolutely necessary do not enable zone/node reclamation in RHEL8.
Environment
- Red Hat Enterprise Linux 8
- Application pinned to a NUMA Node (eg: with
numactl
orlibnuma
) - Async file write(s) larger than the memory in the NUMA Node
- Kernel tunble
vm.zone_reclaim_mode
greater than zero
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.