JConsole或J VisualVM显示最大堆大小和当前堆利用率。如何使用基于命令行的工具(如jstat)在应用程序的生命周期内获得相同的值?从我使用jstat -gc(S 0 C S1 C S 0 U S1 U EC EU OC CNOMC MU CCSC CCSU YGC YGCT FGC FGCT GCT)收集的指标中,我如何计算JConsole/Visual VM给出的(单个值)堆利用率?
gijlo24d1#
除了使用jstat或jps之外,您还需要使用诸如jmxterm之类的JMX客户端来访问服务器上的这些指标。另一种选择是将Jolokia包含在服务器应用程序中,这将通过HTTP在服务器上公开MBeans,例如,您可以在Bash脚本中使用cURL。
jstat
jps
rqmkfv5c2#
你可以使用一些bash命令沿着jstat来得到想要的结果。例如,下面的命令会给你给予Eden空间的使用情况。
jstat -gc <PID> | sed -n 2p | awk '{ print $6; }'
字符串
a0zr77ik3#
如果你有jstat的测量结果,你需要了解Heap的情况和GC发生的趋势。如果你没有分析工具,你可以先使用下面的链接。https://visualgc.streamlit.app/Jstat_Analyzer
3条答案
按热度按时间gijlo24d1#
除了使用
jstat
或jps
之外,您还需要使用诸如jmxterm之类的JMX客户端来访问服务器上的这些指标。另一种选择是将Jolokia包含在服务器应用程序中,这将通过HTTP在服务器上公开MBeans,例如,您可以在Bash脚本中使用cURL。rqmkfv5c2#
你可以使用一些bash命令沿着jstat来得到想要的结果。例如,下面的命令会给你给予Eden空间的使用情况。
字符串
a0zr77ik3#
如果你有jstat的测量结果,你需要了解Heap的情况和GC发生的趋势。如果你没有分析工具,你可以先使用下面的链接。
https://visualgc.streamlit.app/Jstat_Analyzer