我想编写java代码来获取运行在本地主机上的java服务器的内存和CPU使用情况。如果我能像在jconsole中那样通过PID(进程ID)获得值,那就更好了。我该怎么做呢?我是Java新手,在这些方面经验较少。
编写java代码可能不会给您准确的结果,因为在方法之前和之后太多的度量代码可能会增加您试图监视的内存和cpu使用情况。
可以使用
(1) jVisualVM在JDK6或更高版本中监视该服务器中每个线程的CPU和内存使用
(2) JDK7/8中Java任务控制的Java飞行记录器
这两个选项都是JDK默认的,你可以在JAVA_HOME/bin目录下找到它们。
为什么不使用javamelody呢?
这里是一个演示