确定JVM垃圾收集器的运行时

问题描述 投票:0回答:1

在我的应用程序中,某些部件需要执行一段时间(通常以分钟为单位)。由于应用程序使用了大量内存,我发现在某些情况下,通过运行垃圾收集器(有时长时间)可以减少给定时间。是否有可能在给定时间段内读取垃圾收集器花费的时间,以便我可以对此做出反应并为我的代码提供更多执行时间?

我已经尝试过g1垃圾收集器但是我发现了一些jvm崩溃。吞吐量在我的情况下很重要,所以我需要知道何时调用垃圾收集器,这会使应用程序停止一段时间。

所以我想知道在执行期间何时调用GC。

java garbage-collection garbage
1个回答
1
投票
-Xloggc:gc.log
-XX:+PrintGCDetails
-XX:+PrintGCApplicationStoppedTime 
-XX:+PrintGCApplicationConcurrentTime

将这些JVM标志添加到您的应用程序中。

PrintGCApplicationStoppedTime显示应用程序在安全点停止的时间。尽管有other reasons,但大部分时间它都是由GC“阻止世界”引起的。

PrintGCApplicationConcurrentTime是应用程序在不停止的情况下运行的时间

注意:Java 6还不支持qazxsw poi,所以没有任何价值可以添加它。

© www.soinside.com 2019 - 2024. All rights reserved.