有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

垃圾收集如何为Java的GC日志指定时区?

我已将JVM配置为将垃圾收集统计数据写入日志文件,选项如下:

-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=64M

问题是,我的应用程序的服务器日志使用UTC发送日志消息,但GC日志使用服务器时区,当前比UTC晚4小时。这使得我的服务器日志中的事件与GC暂停之间的协调变得更加困难

有没有办法配置JavaGC日志使用的时区

我用的是Java 7


共 (1) 个答案

  1. # 1 楼答案

    如果您在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日志的时间戳