Java垃圾收集详细不起作用

时间:2014-11-25 08:32:06

标签: java garbage-collection

我已指定以下详细选项,但JVM未将任何GC详细信息打印到日志

-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode 
-verbose:gc  -XX:+PrintGCTimeStamps -XX:+PrintGCDetails 

我使用的是java 1.8.0_05-b13

我尝试了一些排列和组合,并注意到只指定了

-verbose:gc  works and logs GC to stdout but following doesn't work

-verbose:gc  -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:GC.log

3 个答案:

答案 0 :(得分:0)

-verbose:gc开关使应用程序将GC详细信息打印到stdout,因此请确保尝试从那里读取它。您也可以使用-Xloggc:gcdetails.log将详细信息打印到实际文件中。

答案 1 :(得分:0)

只是猜测,但jconsole似乎使用JMX bean挂钩到JVM,而-verbose:gc只是从其C ++代码直接打印到stdout,并且不提供对Java的访问权。

在本地启动并查看标准输出以确认或拒绝它。

答案 2 :(得分:0)

GC参数作为单个字符串传递给ProcessBuilder。将每个JVM参数作为单独的字符串发送到ProcessBuilder进行修复。