2

CentOS 64 ビット Linux マシンで jdk 1.7.0_09 を使用しています。

GC 関連の vm 引数は

-Xmx4g -Xmn2g -XX:SurvivorRatio=4 -XX:PermSize=128m -XX:MaxPermSize=128m -XX:InitialTenuringThreshold=15 -XX:CMSWaitDuration=50 -XX:MaxTenuringThreshold=15 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=80 -XX:+CMSParallelRemarkEnabled -XX:ReservedCodeCacheSize=128m

しかし、それは継続的にフルGCを行っています

jstat -gcutil pid 1000    
    S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT   
    0.00   0.00  15.62  57.52  19.90     11    2.081 11109 7454.686 7456.767   
    0.00   0.00  15.81  57.52  19.90     11    2.081 11109 7454.686 7456.767   
    0.00   0.00  15.81  57.51  19.90     11    2.081 11111 7454.892 7456.973   
    0.00   0.00  16.06  57.51  19.90     11    2.081 11111 7455.115 7457.196
    0.00   0.00  16.06  57.51  19.90     11    2.081 11111 7455.115 7457.196
    0.00   0.00  16.27  57.51  19.90     11    2.081 11111 7455.115 7457.196
    0.00   0.00  16.27  57.51  19.90     11    2.081 11111 7455.115 7457.196
    0.00   0.00  16.29  57.51  19.90     11    2.081 11111 7455.115 7457.196
    0.00   0.00  16.29  57.51  19.90     11    2.081 11111 7455.115 7457.196
    0.00   0.00  16.29  57.47  19.90     11    2.081 11113 7455.549 7457.629
    0.00   0.00  16.29  57.47  19.90     11    2.081 11113 7455.549 7457.629
    0.00   0.00  16.34  57.47  19.90     11    2.081 11113 7455.549 7457.629
    0.00   0.00  16.34  57.47  19.90     11    2.081 11113 7455.549 7457.629
    0.00   0.00  16.34  57.47  19.90     11    2.081 11113 7455.549 7457.629
    0.00   0.00  16.42  57.47  19.90     11    2.081 11114 7455.549 7457.629
    0.00   0.00  16.42  57.44  19.90     11    2.081 11115 7455.986 7458.067
4

2 に答える 2

3

「FGC」という列がありますが、実際には完全な GC ではありません。CMS が行っているのは、古いコレクションから何かをクリーンアップできるかどうかを確認するための並行コレクションです (それが行われていることがわかります)。これがフル GC ではないことを確認する方法は、フル GC が eden スペースをクリアし、1 つのサバイバー スペースから別のサバイバー スペースにコピーすることです。

IMHO 使用するオプションが多いほど、驚くべき結果を伴う組み合わせに遭遇する可能性が高くなります。最小限のオプションに固執し、それがどのように機能するかを確認します。常に役立つことがわかっている場合にのみ、オプションを追加してください。

始めてみて、

-mx4g -XX:MaxPermSize=128m -XX:+UseConcMarkSweepGC
于 2012-11-26T09:10:16.930 に答える
0

それは正常です。「-verbose:gc」を実行すると、「フル」コレクションが実際には並行コレクションであることがわかります (「-XX:+UseConcMarkSweepGC」を指定しました)。時間が大幅に増加していないこともわかります。そして、その時間は同時であり、世界を止めるものではありません.

于 2012-11-26T09:11:07.717 に答える