2012-11-09 21 views
11

Java CMSのgcログで 'real'、 'user'、 'sys'の意味は何ですか?次のJavaバージョンについては

OpenJDKのバージョン "1.6.0"
OpenJDKのランタイム環境(ビルド1.6.0-B23)
OpenJDKの64ビットサーバーVM(20.0-B11、混合モードを構築する)
folllowing GCフラグ付き

-verbose:gcを
-XX:+ UseConcMarkSweepGCを
-XX:+ CMSClassUnloadingEnabled
-XX:+ PrintGCDetails
-XX:+ PrintGCDateStamps

私たちのような行ログ取得:

2012-11-09T16:46:53.438から0100:[CMS-同時マーク:4.039を/4.060秒] [タイムズ:ユーザー= 4.09 SYS = 35.05、本当= 4.06秒]

初期 "4.039/4.060秒は" https://blogs.oracle.com/poonam/entry/understanding_cms_gc_logsに従ってマーキング同時は合計4.039秒にCPU時間と4.060を取ったことを意味すべきです秒の壁時間(これは、スレッドも)。

しかし、ここでユーザー、sys、および実際の値はどういう意味ですか?

+2

http://stackoverflow.com/questions/556405/what-do-real-user-and-sys-mean-in-the-output-of-time1 –

+1

いやを見てください、それRealはウォールクロック時間、UserはCPU時間、Sysはプロセス内のカーネルで費やされたCPU時間の量です。私は実際には、これらの定義がどのようにこのgcの文脈で意味を成しているかはわかりません... – fornwall

答えて

4
  1. sysとuserは排他的にCPU時間です。したがって、プロセスがCPUに対してブロックされている時間やI/Oを行っている時間は含まれません。

  2. GC時間は一般にsys +ユーザ時間に似ていますが、プロセスがブロックされているか待機しているより高いだろう。これは、シリアルコレクタとシングルプロセッサボックスに当てはまります。ただし、マルチプロセッサ環境(並列コレクタ)では、複数のCPUがあるため、GC時間はsys +ユーザ時間よりも短くなります。

  3. リアルタイムはGC時間と似ています。

関連する問題