JConsole或J VisualVM显示最大堆大小和当前堆利用率。在应用程序的生命周期中,如何使用基于命令行的工具(如jstat)获得相同的值?
根据我使用jstat-gc收集的指标(S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT),我如何计算JConsole/View VM给出的(单值)堆利用率?
除了使用jstat
或jps
之外,您所要求的是使用JMX客户端(如jmxterm)来访问服务器上的这些度量。另一种选择是在服务器应用程序中包含Jolokia,这将通过HTTP在服务器上公开MBean,例如,您可以在Bash脚本中使用cURL。
您可以使用一些bash命令和jstat来获得所需的结果。例如,下面将为您提供伊甸园空间。
jstat -gc <PID> | sed -n 2p | awk '{ print $6; }'