监测分析Java应用
命令功能
可使用监测模式和分析模式对Java应用进行诊断分析。
命令格式
- 监测模式
1devkit diag jvm-jitter [-h | --help] {-a monitor | --action monitor} {-e EVENT | --event EVENT} [-c | --config] {-p PID | --pid PID}
参数说明
参数 |
参数选项 |
参数说明 |
|---|---|---|
-h/--help |
- |
可选参数,获取帮助信息。 |
-a/--action |
monitor/report |
必选参数,指定JVM波动检测工具的工作模式。
说明:
开启jit.deoptimization退优化事件检测时会在工作目录(cfg文件指定)下生成devkit_odin.properties文件,需修改文件中的MONITOR_JIT为true开启监测。 |
-e/--event |
jit.deoptimization/codecache.full/all |
必选参数,指定需要监测或分析的事件名称,支持JIT退优化事件和CodeCache统计事件。 若命令行和配置文件同时指定采集事件,将以命令行指定的采集事件为准。
|
参数 |
参数选项 |
参数说明 |
|---|---|---|
-p/--pid |
PID |
必选参数,指定监测的Java进程ID。 |
-c/--config |
kunpeng_devkit.cfg |
可选参数,指定配置文件,工具提供模板配置文件在工具目录下config/kunpeng_devkit.cfg。 |
参数 |
参数选项 |
参数说明 |
|---|---|---|
-f/--file |
- |
必选参数,指定需要分析的JFR文件。 |
-o/--output |
- |
可选参数,指定生成JFR退优化事件对应火焰图的路径,默认路径为工具目录下/diag/data。 |
参数文件说明
若工具目录为/home/DevKit-CLI-xx.xx.xx-Linux-Kunpeng,则配置文件的参考文件路径为/home/DevKit-CLI-xx.xx.xx-Linux-Kunpeng/diag/config/kunpeng_devkit.cfg。
校验文件可校验cfg文件填写是否正确,校验文件路径为/home/DevKit-CLI-xx.xx.xx-Linux-Kunpeng/diag/config/kunpeng_devkit.xsd。
参数 |
说明 |
|---|---|
<jvm.DeoptimizationStatistics> |
|
<enabled> |
是否开启事件的采集,默认为“false”,若需采集此事件请修改为“true”。 |
<period> |
采样间隔,默认1秒,数字和单位以空格分隔,单位支持秒、分、时、天(ms/s/m/h/d)。 |
<duration> |
采样时长,默认0秒(0表示一直采集),数字和单位以空格分隔,单位支持秒、分、时、天(ms/s/m/h/d)。 |
<jitTraceThreshold> |
触发JIT事件细粒度采集的阈值,默认60(computeMode设置得出的计算值),取值范围大于0。 |
<jitCollectDuration> |
每次触发JIT事件细粒度采集时的采样时长,默认10秒。 |
<computeMode> |
设置采集阈值的计算方式,默认deoptimizationCount,可选:
|
<jfrDirPath> |
采集事件输出JFR文件的路径,在自定义目录下生成devkit_odin_jfr文件夹存放,若无权限则使用当前工作目录或/tmp目录。 |
<totalJfrFileSize> |
devkit_odin_jfr文件夹中此次采集所有JFR文件的大小限制,单位为MB,0表示无限制,默认为200MB。 |
<singleJfrFileSize> |
采集到单个JFR文件的大小限制,单位为MB,0表示无限制,默认为12MB。 |
<CompilerInlining> |
添加方法内联事件采集,默认false。 |
<Compilation> |
添加编译事件采集,默认false。 |
<CompilationFailure> |
添加编译失败事件采集,默认false。 |
<CompilerConfiguration> |
添加编译配置事件采集,默认false。 |
<CompilerPhase> |
添加编译阶段事件采集,默认false。 |
<JITRestart> |
添加ReStart事件采集,默认false。 |
<jvm.CodeCacheStatistics> |
|
<enabled> |
是否开启事件的采集,默认为“false”,若需采集此事件请修改为“true”。 |
<period> |
采样间隔,默认1秒,数字和单位以空格分隔,单位支持秒、分、时、天(ms/s/m/h/d)。 |
<duration> |
采样时长,默认0秒(0表示一直采集),数字和单位以空格分隔,单位支持秒、分、时、天(ms/s/m/h/d)。 |
<codeCacheTraceThreshold> |
触发CodeCache事件细粒度采集的阈值,默认0.35(CodeCache事件在全部事件中的占比),取值范围0-1。 |
<codeCacheAlarmThreshold> |
触发CodeCache事件异常告警的阈值,默认0.75(CodeCache事件在全部事件中的占比),取值范围0-1。 |