最近、ヒープスペースと新世代と旧世代のサイズの比率を増やすことを試みましたが、jstat -gccapacity
予想よりもはるかに小さい容量を示しているという紛らわしい結果が見られます。
JVM(1.5.0_16)は。で開始され-server -Xms2048m -Xmx2048m -XX:NewRatio=2
ます。Solaris5.10amd64ホストで実行されています。約10GBの空きメモリ付き。したがって、私が読んだことから、JVMは2GBのヒープスペース全体を利用できるはずです。
すべての世代が数回いっぱいになり、ガベージjstat -gcutil
コレクションが発生するのを観察しました。例えば:
Timestamp S0 S1 E O P YGC YGCT FGC FGCT GCT
66150.4 0.00 51.09 56.95 90.33 54.85 6291 58.922 7 22.826 81.748
これにより、JVMはすべての世代をフルサイズに拡張すると思いました。ただし、jstat -gccapacity
以下を生成します。
NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC PGCMN PGCMX PGC PC YGC FGC
700416.0 700416.0 86016.0 1408.0 1408.0 39104.0 1398784.0 1398784.0 1398784.0 1398784.0 16384.0 65536.0 38912.0 38912.0 6338 7
後続の実行では、NGC / S0C / S1C/ECの値の変化が示されます。
NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC PGCMN PGCMX PGC PC YGC FGC
700416.0 700416.0 86016.0 1472.0 1472.0 39104.0 1398784.0 1398784.0 1398784.0 1398784.0 16384.0 65536.0 38912.0 38912.0 6380 7
700416.0 700416.0 106496.0 1792.0 1856.0 97024.0 1398784.0 1398784.0 1398784.0 1398784.0 16384.0 65536.0 38912.0 38912.0 6433 7
700416.0 700416.0 106496.0 1792.0 1792.0 96064.0 1398784.0 1398784.0 1398784.0 1398784.0 16384.0 65536.0 38912.0 38912.0 6436 7
私の理解では、容量の数値は世代の合計サイズであり、使用率の数値は世代内の割り当てを示しています。したがって、上記の結果は、新しい世代の最小容量と最大容量の合計が両方とも(NGCMN / MGCMX)684MBであり、古い世代の最小容量と最大容量が1,366MB(OGCMN / OGCMX)であることを示しています。私を混乱させているのは、新世代の能力です。だから私の質問:
- EC + S0C + S1C == NGCではないのはなぜですか?(41,920!= 86016)
- NGCがNGCMN/MGCMXよりも大幅に小さいのはなぜですか?
- これは、最大ヒープサイズ(NGC + OGC + PGCから1,488MBになります)に達したためですか?もしそうなら、下限の原因は何ですか?私が見つけることができるすべてのドキュメントは、Solaris64ビットJVMが4GBを使用できるはずだと言っています。
- 最大ヒープサイズに達した場合、古い世代を補うために変更せずに、新しい世代の容量を変更する(すべて増加またはすべて減少)のはなぜですか)。
その他の潜在的に有用なjstatの結果:
$ jstat -gcnew 20167
S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
1536.0 1600.0 1300.3 0.0 13 15 1600.0 82880.0 30892.6 6482 60.540
$ jstat -gcnewcapacity 20167
NGCMN NGCMX NGC S0CMX S0C S1CMX S1C ECMX EC YGC FGC
700416.0 700416.0 106496.0 1472.0 233472.0 233472.0 1408.0 700288.0 81088.0 6489 7
$ jstat -gcold 20167
PC PU OC OU YGC FGC FGCT GCT
38912.0 21426.5 1398784.0 1375651.6 6503 7 22.826 83.627
$ jstat -gcoldcapacity 20167
OGCMN OGCMX OGC OC YGC FGC FGCT GCT
1398784.0 1398784.0 1398784.0 1398784.0 6517 7 22.826 83.779
$ jstat -gcpermcapacity 20167
PGCMN PGCMX PGC PC YGC FGC FGCT GCT
16384.0 65536.0 38912.0 38912.0 6531 7 22.826 83.925