gpt4 book ai didi

java - 计算 Java 服务器中 GC 时间的百分比

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:56:31 26 4
gpt4 key购买 nike

我正在使用 jstat 获取 GC 操作的总累计时间,即 GCT

所以,假设 GCT 是 2 秒,我的 JVM 进程启动了 60 秒,我是在四核服务器上运行,所以我的 GC 百分比是

2 / 60 * 4 = 0.83%

我上面的计算是否正确?

最佳答案

不,您的计算不准确,因为这样一来,您就不知道操作系统允许您的程序运行的确切时间。

假设您想考虑应用程序被 GC 完全停止的时间(暂停时间),您可以使用以下 JVM 选项:

-XX:+PrintGCApplicationConcurrentTime
-XX:+PrintGCApplicationStoppedTime

此选项将使 JVM 将如下内容打印到标准输出:

Application time: 3.3319318 seconds
Total time for which application threads were stopped: 0.7876304 seconds
Application time: 2.1039898 seconds
Total time for which application threads were stopped: 0.4100732 seconds

然后,您可以总结应用程序停止的时间,并将其除以应用程序时间加上暂停时间的总和,以获得增变器利用率(应用程序未被 GC 暂停的时间部分)。

另见 http://prefetch.net/blog/index.php/2008/02/18/measuring-the-time-an-application-was-stopped-due-to-garbage-collection/

关于java - 计算 Java 服务器中 GC 时间的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15307945/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com