You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jar文件上运行Java Flight Recorder及指定基准测试项?

在Jar文件上使用JFR的方法与自定义基准测试

当然可以在Jar文件上运行JFR,JFR是JVM内置的性能分析工具,和程序的打包形式无关——只要是运行在支持JFR的JVM(Java 11+默认启用,Java 8u262+需手动开启)上,就能对Jar程序进行性能录制。

操作方法

1. 启动Jar时直接开启JFR

在启动Jar的命令中添加JFR参数,一次性完成程序启动与性能录制:

# 基础录制:指定输出文件和录制时长
java -jar your-application.jar -XX:StartFlightRecording=filename=app-recording.jfr,duration=5m
# 使用预设配置(profile为详细分析级,default为轻量监控级)
java -jar your-application.jar -XX:StartFlightRecording=filename=app-recording.jfr,settings=profile,duration=10m

录制完成后,生成的.jfr文件可通过JDK自带的jfr命令分析,或导入JDK Mission Control工具查看明细。

2. 运行中动态开启JFR

如果Jar程序已在运行,可通过jcmd工具动态启停录制:

  • 第一步:用jps命令获取Jar程序的进程ID(PID):
    jps
    
    输出示例:12345 your-application.jar
  • 第二步:启动录制:
    jcmd 12345 JFR.start filename=dynamic-recording.jfr,duration=3m
    
  • 第三步:手动停止录制(未指定duration时):
    jcmd 12345 JFR.stop name=dynamic-recording
    

指定基准测试内容

完全可以自定义录制范围,精准聚焦你关注的基准测试点:

  • 自定义业务事件:在代码中定义专属JFR事件,针对特定业务操作埋点,比如:
    import jdk.jfr.Event;
    import jdk.jfr.Name;
    
    @Name("com.yourcompany.BusinessOperation")
    class BusinessOperationEvent extends Event {
        public String operationName;
        public long processingTime;
    }
    
    // 在业务逻辑中触发事件
    public void processOrder() {
        BusinessOperationEvent event = new BusinessOperationEvent();
        event.begin();
        // 核心业务代码
        event.end();
        event.operationName = "processOrder";
        event.processingTime = event.getDuration().toMillis();
        event.commit();
    }
    
    录制时就能专门捕捉这类业务操作的性能数据,用于业务层面的基准测试。
  • 筛选内置事件:启动JFR时通过events参数指定要录制的具体JVM事件,比如只关注线程阻塞和方法采样:
    java -jar your-application.jar -XX:StartFlightRecording=filename=focused-recording.jfr,events=jdk.ThreadPark,jdk.MethodSample
    
  • 调整采样参数:针对方法采样等事件,调整采样频率适配基准测试需求,比如把方法采样频率设为10毫秒一次:
    java -jar your-application.jar -XX:FlightRecorderOptions=samplefrequency=10ms -XX:StartFlightRecording=filename=high-detail-recording.jfr
    

内容的提问来源于stack exchange,提问作者N_N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 13:26:01