我已指定以下详细选项,但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
答案 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进行修复。