java - 如何为Java的GC日志指定时区?

标签 java garbage-collection

我已将 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/

相关文章:

java - 垃圾收集java

java - 索引 JTree 节点

java - 使用 Eclipse TPTP 分析 Google App Engine 项目?

java - 无法使用 Spring Boot 应用程序连接到 Docker 镜像

java - 从 FileReader 内部查找文件名

java - 为什么我的 Java 应用程序将 30% 的时间花在年轻代 gc 上?

java - java GC 是否考虑在另一个线程中进行的引用?

java - 为什么调用虚拟函数会修复错误?

java - 我的批量 jpg 缩放器适用于彩色图像,但灰度图像会被冲掉

java - 是否可以将 'see' 对象图用于垃圾收集?