Java Hugepages設定の確認

最新のLinuxディストリビューションの多くは、デフォルトでTransparent Hugepages機能が有効になっています。LinuxでTransparent Hugepagesを使用する場合、カーネルは4Kではなく大きなチャンク(通常2MB)でメモリーを割り当てようとします。この割り当てにより、CPUが追跡するページ数が低減されて、パフォーマンスが向上します。ただし、一部のアプリケーションは、まだ4Kページに基づいてメモリーを割り当てているため、Linuxが2MBページをデフラグしようとすると、顕著なパフォーマンスの問題が発生する可能性があります。

詳細については、ブログ「Cassandra Java Huge Pages」とこちらのRedHatバグ・レポートを参照してください。

この問題を解決するには、Transparent Hugepagesのdefragを無効にします。
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag

一時的な修正を含む詳細については、「DSEの処理が行われていないのにCPU使用率が高い」を参照してください。