通过采样的方式,收集JVM的内部活动/性能事件,通过录制及回放的方式来进行离线分析。这种方式对系统的额外开销很小,对业务影响不大,适用于大型的Java程序,详细介绍可参见表1。
如果Java性能分析工具是用操作系统管理员用户部署的,想对其中非操作系统管理员用户的Java进程进行采样分析,需要确保运行Java进程的JDK版本为毕昇JDK 8.302及以上版本或OpenJDK 9及以上版本,并在非交互shell(non-interactive shell)中配置JAVA_HOME环境变量,详细操作请参见“ 配置JDK”。
点击按钮,可以导入之前保存下载过的报告,并在导入的时候进行校验。
打开“新建采样分析记录”窗口,如图3所示,需要配置的参数如表1所示。
参数 |
说明 |
---|---|
记录方式 |
选择记录方式。可选择以下两种:
|
采样时长(秒) |
设置记录的时间。默认为60秒,取值范围1~300秒。 |
方法采样 |
是否启用方法采样。默认打开。 |
Java方法采样间隔(毫秒) |
设置Java方法采样间隔。默认为1毫秒,取值范围:1~1000毫秒。
说明:
如果关闭“方法采样”,此参数不可设置。 |
Native方法采样间隔(毫秒) |
设置Native方法采样间隔。默认为1毫秒,取值范围:1~1000毫秒。
说明:
如果关闭“方法采样”,此参数不可设置。 |
线程转储 |
是否启用线程转储。默认打开。 |
转储间隔(秒) |
设置线程转储的间隔时间。默认为1秒,取值范围1~300秒。
说明:
|
文件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来分析。 |
老年代对象采样 |
是否启用老年代对象采样。默认开启。 |
弹出分析进度窗口,如图4所示。