dja*_*fan 68 java garbage-collection jdk1.5
如何将详细垃圾收集输出重定向到文件?Sun的网站显示了Unix的一个例子,但它不适用于Windows.
Mic*_*ers 90
从输出java -X
:
-Xloggc:<file> log GC status to a file with time stamps
记录在这里:
-Xloggc:filename
设置应将重定向的GC事件信息重定向到的文件以进行日志记录.写入此文件的信息类似于
-verbose:gc
自每个记录事件之前的第一个GC事件以来经过的时间的输出.如果两者都使用相同的命令,则该-Xloggc
选项将覆盖.-verbose:gc
java
例:
-Xloggc:garbage-collection.log
所以输出看起来像这样:
0.590: [GC 896K->278K(5056K), 0.0096650 secs] 0.906: [GC 1174K->774K(5056K), 0.0106856 secs] 1.320: [GC 1670K->1009K(5056K), 0.0101132 secs] 1.459: [GC 1902K->1055K(5056K), 0.0030196 secs] 1.600: [GC 1951K->1161K(5056K), 0.0032375 secs] 1.686: [GC 1805K->1238K(5056K), 0.0034732 secs] 1.690: [Full GC 1238K->1238K(5056K), 0.0631661 secs] 1.874: [GC 62133K->61257K(65060K), 0.0014464 secs]
Mar*_*tti 37
如果另外要将输出通过管道传输到单独的文件,则可以执行以下操作:
在Sun JVM上:
-Xloggc:C:\whereever\jvm.log -verbose:gc -XX:+PrintGCDateStamps
Run Code Online (Sandbox Code Playgroud)
在IBM JVM上:
-Xverbosegclog:C:\whereever\jvm.log
Run Code Online (Sandbox Code Playgroud)
Ali*_*ani 12
JEP 158为 JVM 的所有组件引入了一个通用日志系统,这将改变(并简化 IMO)日志记录与 GC 的工作方式。JEP 158 添加了一个新的命令行选项来控制来自 JVM 的所有组件的日志记录:
-Xlog
Run Code Online (Sandbox Code Playgroud)
例如,以下选项:
-Xlog:gc
Run Code Online (Sandbox Code Playgroud)
将gc
使用info
level to记录用tag 标记的消息stdout
。或者这个:
-Xlog:gc=debug:file=gc.txt:none
Run Code Online (Sandbox Code Playgroud)
会将gc
使用debug
level标记为tag 的消息记录到一个gc.txt
没有装饰的文件中。有关更详细的讨论,您可以查看JEP页面中的示例。
为了增加上述答案,有一篇很好的文章:有用的JVM标志 - 第8部分(GC Logging)作者Patrick Peschlow.
简短摘录:
标志-XX:+PrintGC
(或别名-verbose:gc
)激活"简单"GC记录模式
默认情况下,GC日志将写入stdout.随着-Xloggc:<file>
我们可以改为指定输出文件.请注意,这个标志隐式设置-XX:+PrintGC
,并-XX:+PrintGCTimeStamps
为好.
如果我们使用-XX:+PrintGCDetails
而不是-XX:+PrintGC
,我们激活"详细"GC记录模式,这取决于所使用的GC算法.
使用-XX:+PrintGCTimeStamps
时间戳反映自JVM开始添加到每一行以来以秒为单位的实际时间.
如果我们指定-XX:+PrintGCDateStamps
每一行以绝对日期和时间开头.
归档时间: |
|
查看次数: |
115788 次 |
最近记录: |