大家好,欢迎来到IT知识分享网。
JFR全名:java flight recoder java飞行记录器,名字定义参考飞机黑匣子而来,顾名思义就是为了在java进程崩溃时也可以提供有效的运行参考数据,抓取的数据格式为jfr,可以使用jmc工具来进行分析,jmc工具可以默认给出分析意见,以供快速的分析定位问题,
该工具受oracle官方推荐,在java8版本前为商业版java才能使用,官方数据cpu只占用越1%,官方推荐为可以长期打开
JFR命令:
//java程序启动时开启JFR
java -XX:StartFlightRecording …
//Java程序启动时开启JFR并记录jfr文件
java -XX:StartFlightRecording:filename=/tmp/foo.jfr,dumponexit=true …
-XX:StartFlightRecording:filename=/jfr-log/recording.jfr,dumponexit=true
//查看运行的java进程
jcmd -l
//对当前进程dump
jcmd JFR.dump filename=foo.jfr maxsize=50MB
//对正在运行的java进程启动JFR
jcmd JFR.start
//对正在运行的java进程关闭JFR
jcmd JFR.stop
//检查当前java进程的JFR状态
jcmd JFR.check
//检查当前java进程的JFR配置
jcmd JFR.configure
mac@macs-MBP jdk % jcmd -l 32257 org.jetbrains.idea.maven.server.indexer.MavenServerIndexerMain 738 nutstore.client.gui.NutstoreGUI --delayLaunch 15 31253 com.intellij.database.remote.RemoteJdbcServer com.mysql.cj.jdbc.Driver 7206 demo.simulators.boot.ThreadSimulatorMain 35416 jdk.jcmd/sun.tools.jcmd.JCmd -l 6714 org.jetbrains.jps.cmdline.Launcher /Applications/IntelliJ IDEA.app/Contents/plugins/java/lib/jps-builders.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/java/lib/jps-builders-6.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/java/lib/jps-javac-extension.jar:/Applications/IntelliJ IDEA.app/Contents/lib/util-8.jar:/Applications/IntelliJ IDEA.app/Contents/lib/util_rt.jar:/Applications/IntelliJ IDEA.app/Contents/lib/platform-loader.jar:/Applications/IntelliJ IDEA.app/Contents/lib/annotations.jar:/Applications/IntelliJ IDEA.app/Contents/lib/protobuf.jar:/Applications/IntelliJ IDEA.app/Contents/lib/jps-model.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/java/lib/javac2.jar:/Applications/IntelliJ IDEA.app/Contents/lib/forms_rt.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/java/lib/aether-dependency-resolver.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/java/lib/maven-resolver-connector-basic.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/java/lib/maven-resolver-transport-file.ja 15259 org.netbeans.Main --cachedir /Users/mac/Library/Caches/VisualVM/2.1.7 --userdir /Users/mac/Library/Application Support/VisualVM/2.1.7 --branding visualvm --laf com.apple.laf.AquaLookAndFeel 7709 jdk.hotspot.agent/sun.jvm.hotspot.SALauncher clhsdb 7278 com.perfma.xlab.xpocket.launcher.XPocketLauncher mac@macs-MBP jdk % jcmd 7278 JFR.check 7278: No available recordings. Use JFR.start to start a recording. mac@macs-MBP jdk % jcmd 7278 JFR.start 7278: Started recording 1. No limit specified, using maxsize=250MB as default. Use jcmd 7278 JFR.dump name=1 filename=FILEPATH to copy recording data to file. mac@macs-MBP jdk % jcmd 7278 JFR.check 7278: Recording 1: name=1 maxsize=250.0MB (running) mac@macs-MBP jdk % jcmd 7278 JFR.dump 7278: Dumped recording, 351.1 kB written to: /Users/mac/Documents/code/XPocket/xpocket/hotspot-pid-7278-2024_01_19_14_18_58.jfr
JDK Mission Control
使用JFR对java进程进行性能监测问题排查
JDK Mission Control
使用JMC 可以打开JFR.dump的jfr文件
JMC有自动分析结果会给出分析情况,以及修改意见
使用jfr命令查看jfr文件:
// 包括CPU使用情况、垃圾回收活动、线程活动、方法调用分析和其他相关统计信息,使用less进行分组
jfr summary hotspot.jfr| less
jfr scrub –all input.jfr output.jfr
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/113894.html









