前言¶
在 Linux 环境下,当 CPU 使用率异常、进程状态异常、响应变慢或内存出现泄漏时,开发者通常需要逐层排查,从应用代码到内核机制,过程耗时且容易遗漏关键信息。perf-prof 提供了一种系统级的分析入口,通过统一的接口将多个分析器组织起来,在内存中实时处理事件并支持长期运行,便于快速定位和复现问题。
是什么¶
perf-prof 是一个基于 perf_event 的 Linux 系统级分析工具,由社区用户维护。它将多个分析器集成到一个统一框架中,通过事件采集与实时处理,支持多种性能与问题诊断场景。事件在内存中处理,不需要将所有数据写入磁盘,因此可以在不中断业务的情况下长期运行。
核心功能¶
perf-prof 内置了多种分析器,覆盖 CPU、进程、延迟、内存、IO、虚拟化、调度、系统调用和脚本分析等维度:
- profile:CPU 采样,定位 CPU 热点
- task-state:进程状态监控,捕捉 D/S 状态
- multi-trace:延迟抖动分析
- kmemleak:内存泄漏检测
- blktrace:块设备 IO 延迟分析
- top/sql:事件聚合统计
- kvm-exit:虚拟机退出统计
- rundelay:调度延迟分析
- syscalls:系统调用耗时分析
- python:通过 Python 脚本进行自定义分析
适用场景¶
perf-prof 适用于以下典型场景:
- CPU 使用率高、热点分析
- 进程状态异常(D/S 状态多)
- 延迟抖动、响应慢
- 内存泄露或增长异常
- 块设备 IO 慢
- 虚拟机性能问题
- 事件聚合统计
- 自定义脚本分析
此外,它也可用于性能问题定位、内核或应用开发调试,以及学习理解 Linux 内核机制(调度、内存、IO、中断等)。
获取与来源¶
perf-prof 是社区维护的 Skill,可通过 SkillHub 平台获取。目前版本为 1.0.0,分类为 it-ops-security,标签为 requires_api_key=false。
官方地址¶
https://www.skillhub.cn/skills/user_15292d5a/yjkj-perf-prof