Java性能调优:利用JFR生成性能日志

Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻。

好的分析工具能起到事半功倍的效果,利用分析利器JMC、JFR,可以实现性能问题的准确定位。

本文主要阐述如何利用JFR生成性能日志

JMC:Java Mission Control

JFR:Java Flight Recorder

1. 打开JFR

JVM_OPT中添加:-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl"

2. 启动JFR

登陆服务器,找到应用PID,执行命令:jcmd $PID JFR.start name=abc,duration=120s

3. Dump JFR

等待至少duration(本文设定120s)后,执行命令:jcmd $PID JFR.dump name=abc,duration=120s filename=abc.jfr(注意,文件名必须为.jfr后缀)

4. 检查JFR状态

执行命令:jcmd $PID JFR.check name=abc,duration=120s

5. 停止JFR

执行命令:jcmd $PID JFR.stop name=abc,duration=120s

6. JMC分析

切回开发机器,下载步骤3中生成的abc.jfr,打开jmc,导入abc.jfr即可进行可视化分析

猜你喜欢

转载自tiemushan.iteye.com/blog/2349075