Workbench的运维功能支持可视化地为Linux实例上的Java应用新增运维任务,例如新增Java堆分析、线程栈分析或性能分析任务。本文为您介绍Linux实例运维功能的具体操作和查看任务分析结果的具体方法。
前提条件
ECS实例必须为Linux实例,且状态为运行中(Running)。
已远程连接ECS实例。具体操作,请参见使用Workbench连接Linux实例。
已开通OSS服务且在ECS实例同一地域创建存储空间(Bucket)。具体操作,请参见开通OSS服务、控制台创建存储空间。
已安装Java JDK,并且有Java应用正在执行。
背景信息
目前Workbench通过JavaDump界面对Java应用执行运维功能,目前支持Java线程栈分析、Java堆分析和Java性能分析。JavaDump基于Java JDK附带的Dump工具jstack、jmap完成日志的采集并生成日志文件,并将日志文件上传到OSS。
Java线程栈分析和Java堆分析:Workbench对接应用诊断分析平台ATP,向ATP平台提供日志文件的OSS URL后,ATP会自动完成日志文件的下载和分析,并返回诊断分析链接。您通过ATP平台的链接即可获取相应的堆分析和线程栈分析结果。更多信息,请参见应用诊断分析平台ATP。
Java性能分析:单击分析结果,直接从OSS下载日志文件至本地。
当您在OSS内存储文件时,OSS会根据您存储的文件类型、大小和时长收取一定的存储费用。当您不再需要保留某个Bucket时,可将其删除,以免产生额外费用。
操作步骤
在顶部菜单栏,选择功能 > 运维功能 > JavaDump。
在JavaDump界面,查看运维列表、新增计划任务。
单击新增计划任务,并在对话框中设置参数。
各参数详细说明如下表所示:
配置项
说明
(可选)进程号
填写Java应用的进程号,可以通过
ps -ef | grep 进程名
命令查询。(必选)进程名
填写Java应用的进程名,可以通过
ps -ef
命令查询。(必选)操作类型
目前支持ThreadDump、HeapDump和JperfDump三个选项,请根据实际需求选择。
ThreadDump:Java线程栈分析。记录CPU信息,它是一个文本文件,用于保存Java应用中各线程在某一时刻的运行位置,即执行到哪一个类哪一个方法哪一行上。
HeapDump:Java堆分析。记录内存信息,它是一个二进制文件,用于保存某一时刻JVM堆中对象使用情况。
JperfDump:一个Java性能分析工具,用于收集和分析Java应用程序的性能数据,包括线程级别的性能分析、堆栈跟踪、CPU和内存监测等功能,帮助诊断和解决Java应用程序的性能问题。
(必选)OSS bucket
填写OSS的Bucket名称。您可以登录OSS管理控制台在Bucket列表中获取OSS Bucket名称。
说明需确保OSS Bucket所在地域和ECS实例是同一地域。
(必选)Java路径
填写Java JDK的安装路径,例如
/usr/bin
,可以通过which java
命令查询。单击确定。
等待任务提交成功后,单击页面右上角的图标,即可看到生成的运维任务。
等待运维任务结束之后,单击结果列的分析。