我正在寻找在Linux中运行的命令,以便为我的客户机持续监视以下指标:
jvm.cpu_load.process
jvm.thread_count
jvm.non_heap_memory
jvm.heap_memory_max你能帮我找到准确的命令来得到这些指标吗?
发布于 2021-02-19 22:31:31
您可以通过对您的流程反复运行jcmd来获取这些信息。运行jcmd <pid> help以了解您的JVM支持什么。例如,您可以通过运行jcmd <pid> GC.heap_info获取有关进程‘内存使用’的信息。
但是,如果您想定期获取这些信息,您应该考虑编写一个程序来查询JMX (https://docs.oracle.com/en/java/javase/15/management/monitoring-and-management-using-jmx-technology.html)或使用JFR来获取这些数据。如果您是上面的Java14o,那么您可以使用JFR流来处理掉的数据(添加在9月394中)。
JFR是一种总是对数据进行分析的机制,它定期转储您可以处理的数据,但在非流式模式下,它将在收集特定数量的数据后转储内容。
如果您只希望远程监视度量,那么编写JMX工具可能是推荐的方法,或者使用NewRelic的代理或Netflix伺服库这样的现有工具通过JMX获取数据,如果您不想自己编写它的话。
https://stackoverflow.com/questions/66281811
复制相似问题