中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

创建锁与等待分析任务

功能描述

锁与等待分析基于Linux perf工具的采样数据,对glibc和开源软件(如MySQL、Open MP)的锁与等待函数(包括sleep、usleep、mutex、cond、spinlock、rwlock、semaphore等)进行分析,关联到其归属的进程和调用点,并根据当前已有的优化经验给出优化建议。

操作实践可参见表1

表1 实例参考

实例类型

实例名称

最佳实践

锁性能调优实践

代码样例

锁频繁抢占

锁长期等待

前提条件

  • 不存在“离线”状态的节点。
  • 节点需支持eBPF环境要求,详情请参见eBPF环境检查

创建锁与等待分析任务

  1. 单击系统性能分析后面的

    选择“通用分析”,打开新建任务页面。

  2. 参考“任务管理”和表2配置任务参数。
    新建锁与等待分析任务,如图1所示。
    图1 新建锁与等待分析任务
    表2 新建锁与等待分析任务参数说明

    参数

    说明

    任务名称

    输入分析任务的名称。名称需要满足如下要求:

    1. 只能由中文、字母、数字和下划线组成
    2. 长度为1~64个字符

    选择节点

    选择需要分析的节点;仅支持单节点。

    分析对象

    仅支持选择“应用”。

    模式

    仅支持选择“Attach to process”。

    PID

    输入要分析的进程的PID,最多输入1个;单击输入框可选择对应PID或搜索需要分析进程关键字进行选择。

    分析类型

    选择“锁与等待分析”。

    锁分析类型

    选择锁分析的类型,默认全勾选,可选“直方图统计”和“锁实例分析”。

    预定义锁类型

    根据锁类型,分析对应方法,默认全勾选。可选“pthread mutex”、“pthread condition”和“pthread spin lock”。

    采样时长 (s)

    设置采集的时间,默认为20秒。取值范围1~300秒。

    随着采样时长增加,采集处理可能会因超过设定的采集数据大小而终止。

    分析栈(可选)

    是否对调用栈进行分析,默认关闭。

    栈最大深度

    分析调用栈的最大栈深,默认为50,取值范围1~100。开启“分析栈”时需配置。

    锁等待最小时长(μs)

    只采集锁等待时间大于锁等待最小时长的锁事件。默认为0微秒,取值范围为0~10,000,000。锁分析类型选择“锁实例分析”时在“高级配置”中可配置。

    锁持有最小时长(μs)

    只采集锁持有时间大于锁持有最小时长的锁事件。默认为0微秒,取值范围为0~10,000,000。锁分析类型选择“锁实例分析”时在“高级配置”中可配置。

    采集原始数据最大大小 (MiB)

    设置采集原始数据的文件上限。默认为1024MiB,取值范围1~1024MiB。

    说明:

    通过设置采集文件大小,防止由于文件过大导致分析时间过长。

    当分析的程序进程较多,分析的数据量较大,可能会出现“任务超时失败”的情况。可通过减少“采样时长”来避免这种情况的发生。

  3. 单击“确认”完成分析任务的创建。

    单击任务名称后面对应的图标可以执行如下操作:

    • :停止分析任务,停止分析任务后,已采集的信息会被删除。
    • :重启分析任务,可修改任务参数配置并重新启动分析任务,取消任务或任务失败时可使用。
    • :删除分析任务,删除分析任务会将该分析任务下的数据都删除,请谨慎操作。
    • :再次分析任务,自动命名任务并重新启动分析任务。
    • :修改任务或报告名称,可修改对应任务或报告名称(报告名称规则同任务名称一致)。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词