3

CMS (Concurrent-Mark-Sweep) GC が有効になっている Java ランタイムを調べると、以下のログのスペースの定義は何ですか? CMS 在職中のスペースだと思いますか?マイナー-メジャー-マイナー GC イベントの次の行が表示されます

23.481: [GC 23.481: [DefNew: 1051K->128K(1152K), 0.0029912 secs] 11925K->11027K(13600K), 0.0031697 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
23.492: [Full GC 23.492: [CMS: 10899K->9379K(12448K), 0.2675281 secs] 11182K->9379K(13600K), [CMS Perm : 16383K->16359K(16384K)], 0.2686291 secs] [Times: user=0.25 sys=0.00, real=0.27 secs]
23.956: [GC 23.956: [DefNew: 4224K->49K(4736K), 0.0027654 secs] 13603K->9428K(20372K), 0.0029230 secs] [Times: user=0.00 sys=0.01, real=0.02 secs]

特にイベント[CMS: 10899K->9379K(12448K), 0.2675281 secs]23.492。これは、CMS とラベル付けされたばかりの在職期間を示していますか? CMS は在職期間中のみに実行されますか?

4

1 に答える 1

2

(免責事項:JVMメモリの専門家ではありません;)

CMS GC ログの理解を信じるなら、この種のログは CMS世代空間占有率の低下を示します。これは、旧世代空間に関するものです。

これは、古い世代で起こることを制御する上で重要な役割を果たす Occupancy Fractionと関連している可能性があります。

この値に下限を設けることで、CMS を頻繁に実行し、常に古い世代をチェックすることができます。

于 2009-12-09T07:51:03.633 に答える