创建采样分析任务
通过采样的方式,收集JVM的内部活动/性能事件,通过录制及回放的方式来进行离线分析。这种方式对系统的额外开销很小,对业务影响不大,适用于大型的Java程序,详细介绍可参见表1。
前提条件
- 已成功添加目标环境且目标环境处于在线状态。
- 运行Java进程的JDK版本要求为毕昇JDK 8.302及以上版本或OpenJDK 9及以上版本。
如果Java性能分析工具是用操作系统管理员用户部署的,想对其中非操作系统管理员用户的Java进程进行采样分析,需要确保运行Java进程的JDK版本为毕昇JDK 8.302及以上版本或OpenJDK 9及以上版本,并在非交互shell(non-interactive shell)中配置JAVA_HOME环境变量,详细操作请参见“ 配置JDK”。
操作步骤
容器环境进程同普通环境进程操作一致。
- 在左侧Java性能分析下的“目标环境列表”选择目标环境,在“Java进程列表”区域选择待分析的Java进程,如图1所示。
- 单击“采样分析”。
打开“新建采样分析记录”窗口,如图2所示,需要配置的参数如表1所示。
表1 新建采样分析记录参数说明 参数
说明
记录方式
选择记录方式。可选择以下两种:
- 指定记录时长:采样时长可设置。
- 滚动录制:采样时长不可设置。说明:
滚动录制采样上限为250MB,若超过此上限,对录制过程最后250MB数据进行分析。
采样时长(秒)
设置记录的时间。默认为60秒,取值范围1~300秒。
方法采样
是否启用方法采样。默认打开。
Java方法采样间隔(毫秒)
设置Java方法采样间隔。默认为1毫秒,取值范围:1~1000毫秒。
说明:如果关闭“方法采样”,此参数不可设置。
Native方法采样间隔(毫秒)
设置Native方法采样间隔。默认为1毫秒,取值范围:1~1000毫秒。
说明:如果关闭“方法采样”,此参数不可设置。
线程转储
是否启用线程转储。默认打开。
转储间隔(秒)
设置线程转储的间隔时间。默认为1秒,取值范围1~300秒。
说明:- 如果关闭“线程转储”,此参数不可设置。
- “转储间隔”应小于或等于“记录时长”。建议设置“转储间隔”为1、5、10、20、30、60秒等常用值,方便使用。
文件IO采样
是否启用文件IO采样。默认关闭。
阈值(微秒)
设置文件IO采样阈值。默认为500微秒,取值范围为0~1,000,000微秒。
仅开启文件IO采样时需要配置。
说明:工具只会抓取耗时超过阈值的文件IO来分析。
Socket IO采样
是否启用Socket IO采样。默认关闭。
阈值(微秒)
设置Socket IO采样阈值。默认为1000毫秒,取值范围为0~1,000,000毫秒。
仅开启Socket IO采样时需要配置。
说明:工具只会抓取耗时超过阈值的Socket IO来分析。
老年代对象采样
是否启用老年代对象采样。默认开启。
- 参考表1配置任务参数后,单击“确认”。
弹出分析进度窗口,如图3所示。
- 单击“停止采样”可停止采样分析任务;单击“取消采样”可取消采样分析任务。
- 采样分析任务执行完成后,报告页面左上方“查看详情”,可以查看所有页签的优化建议汇总。
- 删除采样分析报告时将删除该分析任务的所有历史数据,请谨慎操作。
- 若删除已打开页签的采样分析报告,该页签将暂时保留,关闭页签或刷新页面将删除报告数据。