4

ディスク IO と CPU の両方に非常に大きな負荷をかける JVM アプリケーションのベンチマークを行っています。

通常、4G の最大/最小ヒープ サイズを使用してベンチマークを行います。ベンチマーク スーツ全体の実行には平均 73 秒かかります。

今日、私は好奇心旺盛で、1G の最大/最小ヒープ サイズのみを指定しました。驚くべきことに、ベンチマーク スーツ全体の実行に平均で 62 秒しかかかりませんでした。

では、ヒープ サイズが小さいほど JVM のパフォーマンスが向上するのはなぜでしょうか。

特記事項:

環境:

java version "1.7.0_19"
OpenJDK Runtime Environment (fedora-2.3.9.1.fc17-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

Linux ____ 3.8.4-102.fc17.x86_64 #1 SMP Sun Mar 24 13:09:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
4

1 に答える 1

3

Oracle JVMのドキュメントから、メモには次のように書かれています

次に、使用するヒープの量を減らしてみてください。ヒープが大きくなると、スキャンするヒープが増えるため、ガベージ コレクションの一時停止が増加します。

使用する GC アルゴリズムの機能でもあります。たとえば、インクリメンタル GC では、まったく異なる数値が得られる場合があります。( -Xincgcあなたの数字を試してみてください)

リンク

于 2013-04-30T02:54:20.837 に答える