jdk自带工具jvusialvm和jconsole Java应用性能监测工具的安装使用
1、在windows上安装jdk之后(jdk6以上的版本),进入cmd,输入命令:jvisualvm或者jconsole,直接回车。
2、启动jvisualvm之后,可以直接监控windows本地的java程序:
如上图所示,本地启动jmeter为Java程序,无需配置可直接监控jmeter的CPU使用率、堆内存利用情况、加载类数、启动的进程数。
如果需要监控远程的java程序,以centos上的java程序为例:
a、现在远程的linux上启动JMX,就是启动jar的时候加上相应的参数:例如,java -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=xxxx -Djava.rmi.server.hostname=xxxx -jar jar包的具体路径(例如:/root/test.jar)
,上述的命令指定启动不设置用户名密码,如果是线上环境链接外网的建议设置成true。
b、远程程序启动之后,在windows本地的jvisualvm的窗口新建远程服务器,在新建的远程服务器下添加JMX链接,输入远程的IP和程序启动的端口。设置完成之后即可看到右侧窗口多了一个tab。
3、此时就可以监控指定Java程序的堆内存和CPU情况,通过对进程的分析对程序进行调优。
4、如果需要查看单个进程的详细情况,可以用jconsole查看,用法同jvisual一样。二者有点区别的地方是jvisualvm可以通过颜色区分所有进程的状态,jconsole没有总览全部进程状态的功能,但是可以点击查看每个详细的进程,并且jconsole可以检测死锁进程。