2

おはよう、

私はJavaガベージコレクションを解析するプログラムを書いていますが、ログ出力が正確に何を意味するのかを判断するのに助けが必要です。私のログファイルには、私が理解している次の出力が含まれています。

46834.386: [Full GC 46834.386: [CMS: 412190K->414324K(8388608K), 2.9557920 secs] 4319571K->414324K(16769088K), [CMS Perm : 96586K->96555K(2097152K)], 2.9561693 secs]
49394.883: [GC 49394.883: [ParNew: 8372352K->0K(8380480K), 0.0256383 secs] 8786676K->422169K(16769088K), 0.0258842 secs]

しかし、私が本当に理解していない次の出力も含まれています。

 CMS: abort preclean due to time 2087298.141: [CMS-concurrent-abortable-preclean: 

0.680/1.055 secs]
2087298.146: [GC[YG occupancy: 7515768 K (8380480 K)]2087298.146: [Rescan (parallel) , 5.0710721 secs]2087303.217: [weak refs processing, 0.0718252 secs] [1 CMS-remark: 3769931K(8388608K)] 11285700K(16769088K), 5.1432270 secs]
2087303.289: [CMS-concurrent-sweep-start]
2087305.311: [CMS-concurrent-sweep: 2.022/2.022 secs]
2087305.311: [CMS-concurrent-reset-start]
2087305.393: [CMS-concurrent-reset: 0.082/0.082 secs]
2087307.415: [GC [1 CMS-initial-mark: 3769806K(8388608K)] 12129341K(16769088K), 4.3876237 secs]
2087311.803: [CMS-concurrent-mark-start]
2087311.816: [GC 2087311.816: [ParNew: 8372352K->0K(8380480K), 0.2496844 secs] 12142158K->3865939K(16769088K), 0.2499456 secs]
2087318.573: [CMS-concurrent-mark: 6.508/6.770 secs]
2087318.573: [CMS-concurrent-preclean-start]
2087319.007: [CMS-concurrent-preclean: 0.410/0.434 secs]
2087319.007: [CMS-concurrent-abortable-preclean-start]

現在、正規表現を使用して、フォーマットを持つログ出力を上から分離しています。eden/tenuredガベージコレクションに基づいて出力を分離します。私の質問は、下部にあるこれらのログ出力ステートメントは何ですか?彼らはゴミの集まりをエデンまたは所有していますか?

御時間ありがとうございます。

4

2 に答える 2

2

[ GCViewer] http://www.tagtraum.com/gcviewer.htmlはあなたのためです。ソースコードもダウンロードできます。

于 2012-07-31T13:57:31.500 に答える
0

CMS GC ログに関する情報については、こちらを参照してください。ショットでは、それらは CMS アルゴリズムの特定のノンストップ ザ ワールド フェーズです。

GC ログを解析しないことをお勧めしますが、その形式はぎこちなく不安定で、マルチスレッド ロギングが原因で解析不能になる場合があります。

ここで説明されている JMX ベースの代替を確認してください。

于 2012-08-02T10:45:51.617 に答える