2009-06-19 3 views
1

JSTATを使用してJVMのパフォーマンスを監視しようとすると、私は次の行を参照してください -jstat出力でこれらの狭い*スパイクをどう説明しますか?

Timestamp  PC  PU  OC   **OU**  YGC FGC FGCT  GCT 
     ... 
     283.7 132608.0 132304.8 1572864.0 **398734.1**  20  0 0.000 3.061 
     284.0 132608.0 132312.8 1572864.0 **1547795.2**  21  0 0.000 3.061 
     284.2 132608.0 132313.7 1572864.0 **417220.7**  21  0 0.000 3.418 
     ... 

懸念JVMはエデンの2.5ギガバイトと最大4GBので実行されています。ヒープ(-Xmn2560m -Xms4096m -Xmx4096m)

オールドジェンでのこれらのスパイクの使用方法はわかりませんか?

+0

ここにGCフラグを追加できますか?たとえばあなたが使用している場合CMSは、完全なGCとして表示されず、障害が発生した場合にのみGCで表示されます。 –

答えて

1

若い世代が古い世代に新しいオブジェクトを蹴った可能性のあるGCを行ったように、まったく同じように見えます。それは古い世代のより深刻なコンパクトパスを引き起こす可能性があります。

私はすべての新しいものをコピーして(古いgenを大きくする)、それを元に戻して圧縮します。

若い世代から多くのものを移動しているので、完全なGCがなくてもいくつか移動するには時間とスペースが必要です。

+0

あなたにある程度同意してください!私が信じがたい部分は、「...私はそれが古いものを大きくして、新しいものすべてをコピーしてからそれを元に戻すことを推測しています」と言うときです - これは古いものではありません。 Gen.コレクション?もしそうなら、なぜFGCカウントが増分されないのですか? – g06lin

+0

ええ、そうです。それでも、あなたがYGCを取得するたびにそのスパイクを取得したかどうかを確認することは、興味深いデータポイントになります –

関連する問題