获取花在垃圾收集器上的时间
Get time spent in garbage collector
我想知道如何获取 GC 花费的时间。我认为这是可能的,因为 newrelic 提供了有关 jvm 监控的信息。
谢谢
对于热点 jvm,使用 -XX:+PrintGCDetails
启动 jvm,它将开始记录 gc 事件,其中包括花费的时间
如果你想将它重定向到文件
-Xloggc:/home/someuser/app/logs/jvm/gc.log -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails
http://www.oracle.com/technetwork/java/javase/community/vmoptions-jsp-140102.html
如果你想在你的程序中捕获信息,那么你可以使用 MXBeans 来实现。喜欢
List<GarbageCollectorMXBean> list = ManagementFactory
.getGarbageCollectorMXBeans();
for (GarbageCollectorMXBean bean : list) {
System.out.println(bean.getCollectionTime());
}
您可以使用 JVM 发行版随附的 jstat
工具。 运行jstat -gc <pid>
。它将显示与您的问题相关的以下值:
- 在
GCT
栏中:自JVM启动后GC花费的总秒数
- 在
FGCT
列中:自 JVM 启动后 Full GC 花费的总秒数
- 在
YGCT
列中:自 JVM 启动后 Young Gen GC 花费的总秒数
我想知道如何获取 GC 花费的时间。我认为这是可能的,因为 newrelic 提供了有关 jvm 监控的信息。 谢谢
对于热点 jvm,使用 -XX:+PrintGCDetails
启动 jvm,它将开始记录 gc 事件,其中包括花费的时间
如果你想将它重定向到文件
-Xloggc:/home/someuser/app/logs/jvm/gc.log -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails
http://www.oracle.com/technetwork/java/javase/community/vmoptions-jsp-140102.html
如果你想在你的程序中捕获信息,那么你可以使用 MXBeans 来实现。喜欢
List<GarbageCollectorMXBean> list = ManagementFactory
.getGarbageCollectorMXBeans();
for (GarbageCollectorMXBean bean : list) {
System.out.println(bean.getCollectionTime());
}
您可以使用 JVM 发行版随附的 jstat
工具。 运行jstat -gc <pid>
。它将显示与您的问题相关的以下值:
- 在
GCT
栏中:自JVM启动后GC花费的总秒数 - 在
FGCT
列中:自 JVM 启动后 Full GC 花费的总秒数 - 在
YGCT
列中:自 JVM 启动后 Young Gen GC 花费的总秒数