---
title: 创建锁与等待分析任务
description: "锁与等待分析基于Linux perf工具的采样数据，对glibc和开源软件（如MySQL、OpenMP）的锁与等待函数（包括sleep、usleep、mutex、cond、spinlock、rwlock、semaphore等）进行分析，关联到其归属的进程和调用点，并根据当前已有的优化经验给出优化建议。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevkithistory/devkit_25_1_0/usermanual/devkit-hypertuner-095.html
sourcePath: /source/zh/kunpengdevkithistory/devkit_25_1_0/usermanual/devkit-hypertuner-095.html
indexId: d1730658c453901cd37bcb5d6549ab05c7babaf8412869ee0400f89c5443e2ae83
---
# 创建锁与等待分析任务

#### 功能描述

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


#### 前提条件

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


#### 创建锁与等待分析任务

1. 单击系统性能分析后面的。
  选择“通用分析”，打开新建任务页面。

2. 参考“任务管理”和表1配置任务参数。
  新建锁与等待分析任务，如图1所示。 图1 新建锁与等待分析任务 表1 新建锁与等待分析任务参数说明 参数 说明 任务名称 输入分析任务的名称。名称需要满足如下要求： 只能由中文、字母、数字和下划线组成 长度为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. 单击“确认”完成分析任务的创建。
单击任务名称后面对应的图标可以执行如下操作：

  - ：取消分析任务，取消分析任务后，已采集的信息会被删除。
  - ：重启分析任务，可修改任务参数配置并重新启动分析任务，取消任务或任务失败时可使用。
  - ：删除分析任务，删除分析任务会将该分析任务下的数据都删除，请谨慎操作。
  - ：再次分析任务，自动命名任务并重新启动分析任务。
  - ：修改任务或报告名称，可修改对应任务或报告名称（报告名称规则同任务名称一致）。
