1

Javaベンチマーク(SPECJbb)で遊んでいますが、大きなページ(1ページあたり2M)を有効にするとパフォーマンスが低下することがわかりました。私たちのサーバーはNUMAアーチベースで、80コア(HTが有効な場合は160論理CPU)と260Gメモリを備えています。

ベンチマークは200Gメモリを消費するため、カーネルラージページプールに200Gラージを割り当てましたが、パフォーマンスは6%~8%低下しています。このベンチマークは200Gのメモリを使用しているため、パフォーマンスがある程度向上するはずです。

私の質問は、どのような状況で、大きなページを使用するとパフォーマンスが低下するかについてです。私たちのOSはRHEL6.3、HotSpot JDK 1.6.38とを試し1.6.37ましたが、これら2つのバージョンの両方でこのような劣化が見つかりました。ありがとう。

4

1 に答える 1

1

大きなページは通常、最大5%のパフォーマンス向上をもたらすはずです。

大きなページが適切に割り当てられているかどうかを確認する必要があります。

  • cat /proc/meminfo実際の大きなページの割り当てサイズを確認して確認してください
  • ヒープの大きさはどれくらいですか?オプションを使用しました-XX:+UseLargePagesか?JVMが大きなページを使用することに成功したことを確認してください。問題が発生した場合は、JVM出力ログに警告が表示されます。

また、LargePages+NUMAアーキテクチャに問題がある可能性があります。各コアにはどのくらいのメモリがありますか?見る:

于 2013-01-11T18:57:40.210 に答える