当前位置: 首页 > 知识库问答 >
问题:

如何使用jstat或其他基于命令行的工具获得当前/最大jvm堆利用率(单值)?

易刚捷
2023-03-14

JConsole或J VisualVM显示最大堆大小和当前堆利用率。如何在应用程序的生命周期内使用基于命令行的工具(例如jstat)获取相同的值?

从我用jstat-gc收集的度量(S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT),我如何计算JConsole/Visual VM给出的(单值)堆利用率?

共有2个答案

诸葛彦
2023-03-14

您可以使用一些bash命令和jstat来获得所需的结果。例如,以下内容将为您提供伊甸园空间利用率。

jstat -gc <PID> | sed -n 2p | awk '{ print $6; }'
姚培
2023-03-14

除了使用jstatjps之外,您要问的是使用JMX客户端(例如jmx术语)来访问服务器上的这些指标。另一种选择是将Jolokia包含在服务器应用程序中,这将通过HTTP在服务器上公开MBeans,例如,您可以在Bash脚本中使用cURL。

 类似资料:
  • 本文向大家介绍Linux下使用python调用top命令获得CPU利用率,包括了Linux下使用python调用top命令获得CPU利用率的使用技巧和注意事项,需要的朋友参考一下 本文定位:想通过python调用top命令获取cpu使用率但暂时没有思路的情况。 如果单纯为了获得cpu的利用率,通过top命令重定向可以轻松实现,命令如下: 或 这个就不解释了,不懂的朋友查询下top的帮助文档。这里要

  • 问题内容: 我正在运行jstat -gc(来自OpenJDK): 如何阅读: 用过的堆 堆大小 最大堆 从此输出,就像VisualVM所示? 问题答案: 有关一般参考,请参见https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html。 当前堆大小将是所有以“ C”结尾的字段的总和-S0C,S1C,EC,OC(Metas

  • 是否有命令行工具(Linux)来检查Java应用程序的堆大小(和使用的内存)? 我已经通过jmap尝试过了。但它提供信息。关于诸如Eden/PermGen等内部内存区域,这对我来说并不有用。 null

  • 简介 我们基于Python SDK实现了命令行工具cloudml,可以方便使用访问Xiaomi Cloud-ML服务。 由于sdk的接口更新较快,命令的使用方式可以通过-h选项获取最新的使用方法。 初始化配置文件 cloudml init 查看帮助 cloudml -h TrainJob相关命令 列举训练job cloudml jobs list 提交训练job cloudml jobs s

  • 问题内容: 我想限制JVM使用的最大内存。注意,这不仅是堆,我想限制此过程使用的总内存。 问题答案: 使用参数。在数字后面使用M或G分别表示字节的兆位和千兆位。表示最小值和最大值。

  • 我们如何基于命令行工具进行开发软件? 比如:我们macOS中有默认的ping 命令。 想要基于此开发一个macos app。 现在需要解决的问题就是,如何对ping发送请求参数,然后获得它执行得到的结果,请问是否有类似的库已经实现过?