创建内存使用任务
内存使用任务主要分析应用程序存在的内存使用问题,包括内存未释放和异常释放。
前提条件
不存在“离线”状态的节点。
- 内存使用任务不支持在SUSE Linux操作系统中使用。
- 内存使用任务不支持在Docker容器中使用,但可以对容器中进程进行分析。
创建内存使用分析任务
- 单击系统诊断后面的。
- 参考任务管理和表1配置任务参数。图1 新建内存使用任务
表1 新建内存使用参数说明 参数
说明
任务名称
输入分析任务的名称。名称需要满足如下要求:
- 只能由中文、字母、数字、特殊字符(@#$%^&*()[]<>._-!~+空格)组成,空格不可在开头或结尾。
- 长度为1~32个字符。
诊断对象
选择“内存”。
选择节点
选择需要分析的节点;只有一个节点时默认勾选,最多支持10个节点。
模式
选择应用分析模式。默认选择“Launch Application”,可选“Attach to Process”。
应用路径
待分析应用所在绝对路径,如“/opt/mysql/mysqld”。
说明:- 对于保存应用的目录,操作系统运行用户(devkitworker1)对于待分析的应用需要有可读可执行权限。
- 默认分析“/opt/”或者/“home/”目录下的应用,管理员用户可在系统诊断首页中的菜单选项中选择“系统设置”,手动配置“应用程序路径配置”,路径之间采用分号分割。仅管理员用户可修改,普通用户只有查看权限。
应用参数(可选)
执行应用需要配置的参数,如“--defaults-file=/opt/mysql/my.cnf”,请根据实际应用场景填写。
目标进程
目前仅支持“PID”选项。输入进程ID,仅支持关联一个PID。选“Attach to Process”时需配置。
说明:进程号填-1表示监控内核态内存使用。
诊断功能
选择“内存使用”。
说明:- 暂不支持容器环境运行。
- 该功能基于eBPF能力实现,采集数据时需使用root用户;建议使用运行时间较长的应用。
- 如有问题,请使用命令行:
/usr/bin/devkit_tools/bcc_wrapper.sh /usr/bin/devkit_tools/hyper_tuner_memleak -p 进程号 采样间隔 采样时长
eBPF运行用户
运行eBPF的用户,默认为root,不可配置。
密码
配置eBPF运行用户的密码。
采样时长(s)
设置采样的时间。默认为1秒,取值范围1~1800秒。采样时长应大于等于采样间隔。
采样间隔(s)
设置采样的时间间隔;默认为1秒,取值范围1~60秒;“高级配置”中需配置。
堆栈追踪Top
在每个采样间隔内,采集内存使用最大的top N个堆栈信息。默认为5个,取值范围5~15;“高级配置”中需配置。
内存大小过滤(Byte)(可选)
采集到的每次内存使用的范围;“高级配置”中可配置。
任务时间
配置任务是否立即执行,当前只可选择“立即执行”。
说明:单个用户最多可创建20个预约任务。
- 单击“校验并创建”完成分析任务的创建。
单击任务名称后面对应的图标可以执行如下操作:
- :停止分析任务,停止分析任务后,已采集的信息会被删除。
- :重启分析任务,可修改任务参数配置并重新启动分析任务。
- :删除分析任务,删除分析任务会将该分析任务下的数据都删除,请谨慎操作。
- :修改任务或报告名称,可修改对应任务或报告名称(报告名称规则同任务名称一致)。
- 内存使用任务需先校验环境是否符合BCC运行要求。
- 用户中途离开(如退出登录)或切换界面,采集分析任务不中断。
- 用户经鉴权后,重新访问系统,可以查看进行中的任务执行进度,或已完成分析任务的分析报告。
父主题: 内存诊断