perf-prof:基于 perf_event 的 Linux 系统级性能分析

前言

在 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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye