我们在运行Jboss7和Java6的地方遇到了同样的问题,GC文件中出现了NULL,并且它们一直在增长。
解决方案是只将GC记录到stdout,然后 将 stdout 附加 到文件中:
简单的例子:
java -verbose:gc >> console.log
显然,使用append(>>)可以删除Java“指针”到文件中的某个位置。额外的好处是不必在每次服务器重启时重置GC日志,因此随着时间的推移,我们可以获得一些统计信息。
至少IBM PMAT工具在解析带有GC输出的sysout时没有问题。
最简单的解决方案有时是最好的:)
尽管我希望Java支持旋转GC日志,但正如我之前看到有人在讨论的那样:http ://mail.openjdk.java.net/pipermail/hotspot-runtime- dev/2011-April/002061.html