GC ログ関連の JVM パラメータ
GC ログに関連する JVM パラメータは 8 つあります。
パラメータ名 | パラメータの意味 |
---|---|
-XX:+PrintGC | 簡単な GC ログを出力する |
-verbose:gc | -XX:+PrintGC と同等 |
-XX:+PrintGC詳細 | 詳細なGCログを出力する |
-XX:+PrintGCTimeStamps | GCのタイムスタンプを出力します(JVM起動から現在の合計時間まで) |
-XX:+PrintGCDateStamps | GC のタイムスタンプを出力します (2013-05-04T21:53:59.234+0800 などの日付として) |
-XX:+PrintHeapAtGC | GC の前後でヒープ情報を出力する |
-XX:+PrintReferenceGC | 若い世代の各参照の数と期間を出力します。 |
-Xloggc:gc.log | GC ログをファイル gc.log に出力します。 |
-XX:+PrintGC および -verbose:gc
これら 2 つのパラメータは同等であると上で述べましたが、-verbose:gc は標準パラメータであり、-XX:+PrintGC は JDK 9 以降では非推奨としてマークされているため、-XX: の代わりに -verbose: gc を使用することをお勧めします。 +PrintGC。
-verbose:gc パラメーターを使用すると、詳細な GC ログがオンになります。次のような GC ログが表示されます。
このパラメータは現在では頻繁に使用されないため、詳細な説明は省略します。
[GC (Allocation Failure) [PSYoungGen: 1363219K->24905K(1368576K)] , 0.0187118 secs]
-XX:+PrintGC詳細
このパラメータを使用すると、-verbose:gc パラメータによって出力される内容を含む詳細な GC ログが出力されます。
[GC (Allocation Failure) [PSYoungGen: 1363219K->24905K(1368576K)] 1983835K->646622K(2066944K), 0.0187118 secs] [Times: user=0.05 sys=0.00, real=0.02 secs]
上記のログを次のように分割します。
- GC はガベージ コレクションの種類を表します。GC は、マイナー GC が発生したことを意味します。フル GCフル GC が発生したことを示します
- 「割り当て失敗」では、GC の理由が簡単に説明されています。上記の例では、若い世代に適切な領域がないため、新しいオブジェクトの割り当てに失敗し、GC が発生します。
- [PSYoungGen: 1363219K->24905K(1368576K)] は、使用されたガベージ コレクター、若い世代の占有率の変化、および若い世代のサイズを示しています。この例では、若い世代の使用量が 1363219 KB から 24905 KB に減少しています。
- 1983835K->646622K(2066944K) は、ヒープ全体の占有率とヒープ全体のサイズの変化を示します。
- [Times: user=0.05 sys=0.00, real=0.02 secs] は、この GC によって消費された時間を示します
user 代表垃圾回收器消耗的 CPU 时间
sys 代表系统调用或等待系统事件消耗的时间
real 代表应用实际停止的时间,近似于 (user + sys) / 垃圾回收器使用的线程数
-XX:+PrintGCTimeStamps
このパラメータはログの詳細レベルには影響しません。これをオンにすると、JVM の開始からログが表示されるまでのミリ秒数がログに表示されます (以下の例では 358952.455)。
358952.455: [GC (Allocation Failure) [PSYoungGen: 1363219K->24905K(1368576K)] 1983835K->646622K(2066944K), 0.0187118 secs] [Times: user=0.05 sys=0.00, real=0.02 secs]
-XX:+PrintGCDateStamps
このパラメータはログの詳細レベルには影響しません。ログを開いた後、ログが出力される時刻とタイム ゾーンがログ ヘッダーに追加されます (以下の例では 2020-11-06T05:58:40.250+0000)。 。
2020-11-06T05:58:40.250+0000: 358952.455: [GC (Allocation Failure) [PSYoungGen: 1363219K->24905K(1368576K)] 1983835K->646622K(2066944K), 0.0187118 secs] [Times: user=0.05 sys=0.00, real=0.02 secs]