我已将 JVM 配置为将垃圾收集统计信息写入日志文件,选项如下:
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=64M
问题是,我的应用程序的服务器日志使用 UTC 来记录日志消息,但 GC 日志使用服务器时区,目前比 UTC 晚 4 小时。这使得协调服务器日志中的事件与 GC 暂停变得有点困难。
有没有办法配置Java GC日志使用哪个时区?
我使用的是 Java 7。
最佳答案
如果您使用的是 Linux,则可以将 TZ
变量设置为 UTC
。
例如
TZ=UTC java -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=64M SomeClass
或全局(或在启动应用程序的脚本中):
export TZ=UTC
这将修改java GC日志的时间戳。
关于java - 如何为Java的GC日志指定时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36338364/