如何确定应用程序内的gc-cpu利用率?

乔纳森

我们想内部化JConsole / JVisualVM的某些功能,并从正在运行的应用程序中收集有关CPU使用率和内存消耗的数据。原因是,安全约束阻止我们在生产系统上向外部打开jmx端口。

可以通过MXBean监视所需的大多数数据,但是,用于垃圾收集的cputime仍然使我们望而却步。通过监视gc时间GarbageCollectorMXBean没有用,因为它仅提供并行工作收集器的挂墙时间。

我认为可以使用ThreadMXBean来确定所有gc线程的cputime。我看不出有办法安全地标识那些线程。

有谁知道,JVisualVM如何计算该数字?

阿列克谢·拉戈津(Alexey Ragozin)

前段时间,我写了有关JVM诊断API的摘要,可在此处获得

简而言之,MBean和“首选计数器”是JVM自我诊断的主要来源。

JVisualVM正在使用GarbageCollectorMXBean将挂钟时间解释为CPU时间(即显示废话)。

ThreadMXBean不包括GC线程是线程列表,因此它也没有用。SJK工具中,我从进程CPU时间中减去所有应用程序线程的累积CPU时间。这种方法不准确,但总比没有好。

“性能计数器”具有有关GC的CPU使用率的准确信息。可以通过访问“性能计数器” sun.management.counter.perf.PerfInstrumentation

在这里,您可以找到转储主机JVM的“性能计数器”的示例(JUnit测试)。

您需要sun.gc.collector.0.timesun.gc.collector.1.time计数器来衡量新旧GC /完整GC的累计CPU使用率(请注意,它们以滴答表示)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获得Akka演员的CPU利用率

来自分类Dev

如何提高Xen来宾CPU利用率?

来自分类Dev

调试Java应用程序会导致cpu利用率高

来自分类Dev

高度并行的F#程序显示CPU利用率低

来自分类Dev

使用多处理模块时如何提高CPU利用率?

来自分类Dev

如何使用Sigar查找Java中的CPU总利用率

来自分类Dev

如何在终端(Mac)中获得以%为单位的CPU利用率

来自分类Dev

如何在Windows 8中提高进程的cpu利用率

来自分类Dev

如何在Windows 8中提高进程的cpu利用率

来自分类Dev

使用多处理模块时如何提高CPU利用率?

来自分类Dev

如何使用Sigar查找Java中的总CPU利用率

来自分类Dev

如何从 docker 容器中获取主机信息(CPU 利用率)?

来自分类Dev

如何提高在 for 循环中处理数据帧的 CPU 利用率?

来自分类Dev

对于任何 Win OS 上的大多数多线程应用程序,CPU 最大利用率限制为 1/N 个 CPU:为什么?

来自分类Dev

当 CPU 平均利用率超过 90% 达 30 分钟时,如何获得电子邮件警报?

来自分类Dev

如何确定当前的网络利用率?

来自分类Dev

计算CPU利用率

来自分类Dev

如何根据利用率比较两个电路

来自分类Dev

如何使Ubuntu Linux 16.10系统监视器%CPU利用率与ps或四核CPU上的Firefox进程的top一致?

来自分类Dev

计算LPAR CPU利用率(AIX)

来自分类Dev

CPU使用率及其利用率

来自分类Dev

根据12个小时内的时间数据生成机器利用率图表

来自分类常见问题

检查内存利用率后如何停止EC2实例

来自分类Dev

检查内存利用率后如何停止EC2实例

来自分类Dev

如何使用node.js或socket.io获得内存利用率

来自分类Dev

如何获取任务管理器网络利用率百分比

来自分类Dev

在MATLAB中显示CPU内核利用率

来自分类Dev

任务管理器:CPU利用率和速度?

来自分类Dev

在C#中获取当前的CPU利用率

Related 相关文章

  1. 1

    如何获得Akka演员的CPU利用率

  2. 2

    如何提高Xen来宾CPU利用率?

  3. 3

    调试Java应用程序会导致cpu利用率高

  4. 4

    高度并行的F#程序显示CPU利用率低

  5. 5

    使用多处理模块时如何提高CPU利用率?

  6. 6

    如何使用Sigar查找Java中的CPU总利用率

  7. 7

    如何在终端(Mac)中获得以%为单位的CPU利用率

  8. 8

    如何在Windows 8中提高进程的cpu利用率

  9. 9

    如何在Windows 8中提高进程的cpu利用率

  10. 10

    使用多处理模块时如何提高CPU利用率?

  11. 11

    如何使用Sigar查找Java中的总CPU利用率

  12. 12

    如何从 docker 容器中获取主机信息(CPU 利用率)?

  13. 13

    如何提高在 for 循环中处理数据帧的 CPU 利用率?

  14. 14

    对于任何 Win OS 上的大多数多线程应用程序,CPU 最大利用率限制为 1/N 个 CPU:为什么?

  15. 15

    当 CPU 平均利用率超过 90% 达 30 分钟时,如何获得电子邮件警报?

  16. 16

    如何确定当前的网络利用率?

  17. 17

    计算CPU利用率

  18. 18

    如何根据利用率比较两个电路

  19. 19

    如何使Ubuntu Linux 16.10系统监视器%CPU利用率与ps或四核CPU上的Firefox进程的top一致?

  20. 20

    计算LPAR CPU利用率(AIX)

  21. 21

    CPU使用率及其利用率

  22. 22

    根据12个小时内的时间数据生成机器利用率图表

  23. 23

    检查内存利用率后如何停止EC2实例

  24. 24

    检查内存利用率后如何停止EC2实例

  25. 25

    如何使用node.js或socket.io获得内存利用率

  26. 26

    如何获取任务管理器网络利用率百分比

  27. 27

    在MATLAB中显示CPU内核利用率

  28. 28

    任务管理器:CPU利用率和速度?

  29. 29

    在C#中获取当前的CPU利用率

热门标签

归档