gpt4 book ai didi

java - 如何确定 JVM GC 吞吐量?

转载 作者:行者123 更新时间:2023-11-30 08:36:56 27 4
gpt4 key购买 nike

确定 Oracle Java 8 JVM 垃圾收集器吞吐量的最简单方法是什么,最好使用 JDK 命令行工具?

通过 jstat 命令,我可以获得总的垃圾收集时间(GCT 列)。根据这个值的变化与GC日志的比较,jstat输出的GCT值似乎是累计的GC耗用时间(以秒为单位)(自JVM启动以来)。这是正确的吗?

那么,我可以这样计算 GC 吞吐量吗?

1 - GCT / time_since_jvm_start

jstat 可用于获取自 JVM 启动以来的 GC 和时间,使用以下命令:

jstat -gcutil -t <jvm-pid> 1000 1

最佳答案

你的问题是正确的。 GCT列包含 JVM 停止执行垃圾收集的总时间,包括年轻 GC 和完整 GC。

您可以在编写 (jstat -gcutil -t <jvm-pid> 1000 1) 时使用 jstat,并查看第一列以查看 JVM 运行的总时间。我们称之为uptime .此时间戳和 GC 时间均以秒为单位。如果您随后想要计算未花费在 GC 上的时间百分比,您将完全按照您所写的方式进行操作:

1 - GCT / uptime

我认为称这个吞吐量有点误导。例如,如果您使用 CMS 收集器,GC 会与应用程序并行发生,从而降低应用程序吞吐量,同时它实际上不会停止应用程序。

关于java - 如何确定 JVM GC 吞吐量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37523319/

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