Red Hat コンサルタントの菅原です。先週に引き続いての投稿になりますが、今回は NUMA アーキテクチャにおけるメモリチューニングに関連した話題です。 この記事を書くきっかけとなったできごとは、あるお客様の2ソケットサーバーで片方の NUMA ノードのメモリはほぼフリーであったのにもう片方の NUMA ノードのメモリが一杯で OOM Kill を引き起こしたことです。その事象の直接的な原因としては、大量にメモリを使用していたプロセスの NUMA アフィニティが手動で固定されていて、もう一方の NUMA ノードのメモリがいくら空いていてもそちらからアロケートできないようにそもそも設定されていたのが原因だったのですが、アフィニティが設定されていない他のプロセスを空いている NUMA ノードに移動させればまだ空きが作れたのでは、NUMA ノードごとのメモリ利用率が極端に異なっているのに両者