我已经为我的一个应用程序启用了GC日志记录。这是日志的一部分。我到处搜索,想了解如何阅读这篇文章,但它似乎与用Java7或更早版本写的旧文章有点不同。我特别感兴趣的是用h **标记的值。为什么在日志中打印的每一行GC参数的值接近但不同
Java HotSpot(TM) 64-Bit Server VM (25.5-b02) for linux-amd64 JRE (1.8.0_05-b13), built on Mar 18 2014 00:29:27 by "java_re" with gcc 4.3.0 20080428 (Red Hat 4.3.0-8)
Memory:
在运行一个基于imax6q自定义硬件设计的Linux应用程序时,我会得到后续的分段错误。我使用Linux对核心转储进行了回溯,然后您可以看到这些核心转储。
我使用的内核-Linux边界4.1.15
Seg断层堆芯1
Program terminated with signal SIGSEGV, Segmentation fault.
#0 gcoTEXTURE_BindTextureEx (Texture=0x263c6c4, Target=Target@entry=0,
Sampler=1, Sampler@entry=0, Info=Info@entry=0x23f0708,
text
我已经指定了以下详细选项,但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:+Pr
在命名之前,我们只需指定-Xloggc:/my/ Java9 / 就可以将垃圾收集消息记录到管道中。但是,在指定-Xlog:gc*:file=/my/named/pipe时,JVM9会抱怨命名管道:
[0.003s][error][logging] Unable to log to file /my/named/pipe, /my/named/pipe is not a regular file.
我们使用的是带有jdk_9.0.1_x64的Linux RedHat。
在Java9中,如何将GC消息记录到命名管道?