相关疑难解决方法(0)

滚动垃圾收集器登录java

是否可以在Sun JVM中滚动垃圾收集器日志?

目前我用以下方法生成日志

-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -verbose:gc -Xloggc:gc.log 
Run Code Online (Sandbox Code Playgroud)

但是我必须使用fifo队列和rotatelogs手动旋转它们以创建每天的新日志.我希望有一个更好的解决方案.

也许有一种方法可以从java里面访问这些日志条目,所以我可以将它们重定向到log4j?

编辑:使用fifo队列的解决方案不够好,因为如果从此队列读取的进程(例如rotatelogs)读取速度变慢,则会减慢整个jvm(显然Sun/Oracle会同步执行gc日志记录)

java logging garbage-collection

42
推荐指数
2
解决办法
4万
查看次数

Java GC日志中充满了奇怪的字符

我在使用GC日志的几台服务器上遇到问题.它充满了这个:

^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
Run Code Online (Sandbox Code Playgroud)

注意到这发生在给JVM提供大量内存的服务器上:-Xms32G -Xmx48G.这可能是一个红鲱鱼,但想提到它.

由于这些是低延迟/高吞吐量的应用程序,分析日志至关重要.但相反,它充满了上面的那些字符.

我们使用的是Java 8:

java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
Run Code Online (Sandbox Code Playgroud)

我们用它来创建日志:

-verbose:gc
-Xloggc:/path/to/gc.log
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
Run Code Online (Sandbox Code Playgroud)

以前有人见过这个问题吗?可能导致什么?

java logging garbage-collection jvm java-8

17
推荐指数
2
解决办法
1102
查看次数

在应用程序中记录GC信息

有没有办法将垃圾收集信息(例如-XX:+PrintGCDetails或的输出-verbose:gc)转发到Java应用程序中的记录器(在我的情况下为sl4j + logback)?

java logging garbage-collection jvm

9
推荐指数
1
解决办法
2265
查看次数

标签 统计

garbage-collection ×3

java ×3

logging ×3

jvm ×2

java-8 ×1