JFR学习笔记,java飞行记录器

JFR学习笔记,java飞行记录器本文介绍了 JavaFlightRe JFR 的功能 它是 Java 进程崩溃时提供运行数据的工具 支持 JMC 分析

大家好,欢迎来到IT知识分享网。

        JFR全名:java flight recoder java飞行记录器,名字定义参考飞机黑匣子而来,顾名思义就是为了在java进程崩溃时也可以提供有效的运行参考数据,抓取的数据格式为jfr,可以使用jmc工具来进行分析,jmc工具可以默认给出分析意见,以供快速的分析定位问题,

        该工具受oracle官方推荐,在java8版本前为商业版java才能使用,官方数据cpu只占用越1%,官方推荐为可以长期打开

JFR命令:

JFR学习笔记,java飞行记录器

//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 

JFR学习笔记,java飞行记录器

JDK Mission Control

使用JFR对java进程进行性能监测问题排查

JDK Mission Control

使用JMC 可以打开JFR.dump的jfr文件

JMC有自动分析结果会给出分析情况,以及修改意见

JFR学习笔记,java飞行记录器

使用jfr命令查看jfr文件:

// 包括CPU使用情况、垃圾回收活动、线程活动、方法调用分析和其他相关统计信息,使用less进行分组

jfr summary hotspot.jfr| less

jfr scrub –all input.jfr output.jfr

JFR学习笔记,java飞行记录器

JFR学习笔记,java飞行记录器

JFR学习笔记,java飞行记录器

JFR学习笔记,java飞行记录器

JFR学习笔记,java飞行记录器

JFR学习笔记,java飞行记录器

JFR学习笔记,java飞行记录器

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/113894.html

(0)
上一篇 2025-12-12 07:10
下一篇 2025-12-12 07:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信