创建采样分析任务
通过采样的方式,收集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 容器进程  单击  按钮,可以导入之前保存下载过的报告,并在导入的时候进行校验。 按钮,可以导入之前保存下载过的报告,并在导入的时候进行校验。  - 支持对容器中的Java进程进行分析,支持远程分析Pod内Java应用(K8s计算节点无法接入时)。
- 容器进程支持按命名空间过滤;命名空间值为“- -”表示无命名空间,Pod值为“- -”表示无Pod。
 
- 单击“采样分析”。打开“新建采样分析记录”窗口,如图3所示,需要配置的参数如表1所示。 表1 新建采样分析记录参数说明 参数 说明 记录方式 选择记录方式。可选择以下两种: - 指定记录时长:采样时长可设置。
- 滚动录制:采样时长不可设置。
             说明:滚动录制采样上限为250MB,若超过此上限,对录制过程最后250MB数据进行分析。 
 采样时长(s) 设置记录的时间。默认为60秒,取值范围1~300秒。 方法采样 是否启用方法采样。默认打开。 Java方法采样间隔(ms) 设置Java方法采样间隔。默认为1毫秒,取值范围:1~1000毫秒。 说明:如果关闭“方法采样”,此参数不可设置。 Native方法采样间隔(ms) 设置Native方法采样间隔。默认为1毫秒,取值范围:1~1000毫秒。 说明:如果关闭“方法采样”,此参数不可设置。 线程转储 是否启用线程转储。默认打开。 转储间隔(s) 设置线程转储的间隔时间。默认为1秒,取值范围1~300秒。 说明:- 如果关闭“线程转储”,此参数不可设置。
- “转储间隔”应小于或等于“记录时长”。建议设置“转储间隔”为1、5、10、20、30、60秒等常用值,方便使用。
 文件IO采样 是否启用文件IO采样。默认关闭。 阈值(μs) 设置文件IO采样阈值。默认为500微秒,取值范围为0~1,000,000微秒。 仅开启文件IO采样时需要配置。 说明:工具只会抓取耗时超过阈值的文件IO来分析。 Socket IO采样 是否启用Socket IO采样。默认关闭。 阈值(μs) 设置Socket IO采样阈值。默认为1000微秒,取值范围为0~1,000,000微秒。 仅开启Socket IO采样时需要配置。 说明:工具只会抓取耗时超过阈值的Socket IO来分析。 老年代对象采样 是否启用老年代对象采样。默认开启。 
- 参考表1配置任务参数后,单击“确认”。弹出分析进度窗口,如图4所示。   - 单击“停止采样”可停止采样分析任务;单击“取消采样”可取消采样分析任务。
- 采样分析任务执行完成后,报告页面左上方“查看详情”,可以查看所有页签的优化建议汇总。
- 删除采样分析报告时将删除该分析任务的所有历史数据,请谨慎操作。
- 若删除已打开页签的采样分析报告,该页签将暂时保留,关闭页签或刷新页面将删除报告数据。
 


