【问题标题】:Java Garbage collection log gets truncated when the tomcat is stopped当 tomcat 停止时,Java 垃圾收集日志被截断
【发布时间】:2014-03-14 21:35:56
【问题描述】:

我使用以下选项启动 tomcat 进程

JAVA_OPTS = "-Xloggc:/put/logs/here/gc.log -XX:+PrintGCDateStamps -XX:+PrintGCDetails"

当我停止 tomcat 时,我的 gc.log 文件被截断并且我丢失了所有数据。文件大小不变。它只是在进程停止之前拥有堆的信息。

关于如何在停止 tomcat 后保留垃圾收集细节的任何指针。

【问题讨论】:

    标签: java tomcat garbage-collection


    【解决方案1】:
    -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=<number of files> -XX:GCLogFileSize=<size>
    

    其中文件数只是一个整数,大小是文件的大小(例如 16K 是 16 KB,128M 是 128 兆字节,等等)

    以上命令同样可以帮助你,更多请访问this

    【讨论】:

    • 这只是为了轮换日志文件。它不能解决 gc.log 文件被截断和丢失数据的问题。
    【解决方案2】:

    Tocmat 停止脚本启动 JVM 进程以发送停止信号。 它使用相同的 JAVA_OPTS 来覆盖 gc.log 文件。

    不要在 JAVA_OPTS 中添加-Xloggc

    如果您确实需要将 GC 日志从 Tomcat 重定向到单独的文件,请在 Tomcat 脚本中修改 JVM 启动命令。

    如果您需要快速解决方法,您可以在 JAVA_OPTS 中为 -Xloggc 的日志文件路径添加时间戳。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-28
      • 1970-01-01
      • 2011-08-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-10
      • 2011-04-18
      • 1970-01-01
      相关资源
      最近更新 更多