Token导航 LogoToken导航TokenDH.com
效率可写文件clawhub未标认证来源可访问clear审计提醒

linux-performance-analyzerLinux 性能分析器

Agent Skill

linux-performance-analyzer 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

9,645

周安装

394

GitHub Stars

1

下载量

3,089
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:linux-performance-analyzer(Linux 性能分析器)
来源仓库:https://github.com/husttsq/linux-performance-analyzer
安装命令:
openclaw skills install linux-performance-analyzer
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install linux-performance-analyzer

简介

全面诊断Linux系统性能问题并提供调优方案。

  • 覆盖CPU、内存、磁盘I/O、网络等多维度指标分析。
  • 集成容器与K8s环境专项检测工具链。linux-performance-analyzer 属于效率类 Skill,可作为该场景下的辅助能力补充。
  • 适用于服务器慢响应、OOM或高负载场景。
  • 输出建议需结合业务负载评估,避免盲目调整参数。

SKILL.md

name
linux-performance-analyzer
description
>

Linux 性能分析与调优全能手册 (linux-perf-master)

本 skill 整合了 linux-perf-advisor、linux-perf-analysis、linux-perf-tune、linux-performance-analyzer 四个专项 skill 的精华内容,提供完整的性能诊断→根因分析→优化实施→验证回滚闭环能力。

📋 分析工作流

第一步:收集现场数据(运行快照脚本或手动整理)
        ↓
第二步:识别瓶颈类型(CPU / 内存 / I/O / 网络 / 编译)
        ↓
第三步:查阅对应参考文档深入分析
        ↓
第四步:输出标准化分析报告(含问题/原因/方案/风险/验证/回滚)
        ↓
第五步:实施优化并验证效果

第一步:快速数据整理

方式一:使用整理脚本(推荐)

# 系统快照(全面)
bash scripts/collect_snapshot.sh

# 持续监控(后台运行,每5秒采样)
bash scripts/perf_monitor.sh &

方式二:手动快速诊断命令

# ① 负载概览
uptime && cat /proc/loadavg

# ② 内存状态
free -h && cat /proc/meminfo | grep -E "MemTotal|MemFree|MemAvailable|Buffers|Cached|SwapTotal|SwapFree|Dirty|AnonPages|Slab|HugePages"

# ③ CPU + 进程
top -bn1 | head -20
mpstat -P ALL 1 3

# ④ I/O
iostat -xz 1 3
iotop -o -b -n 3 | head -20

# ⑤ 网络
ss -s
ss -ant | awk '{print $1}' | sort | uniq -c | sort -rn

# ⑥ 内核参数现状
sysctl -a 2>/dev/null | grep -E "^vm\.|^net\.|^kernel\.sched" | head -60

# ⑦ 上下文切换
vmstat 1 5

# ⑧ OOM 历史
dmesg | grep -iE "oom|killed process" | tail -20

# ⑨ 中断分布
cat /proc/interrupts | sort -k2 -rn | head -20

# ⑩ 磁盘空间
df -h && lsblk

第二步:瓶颈快速识别表

现象可能瓶颈参考文档
load average 持续 > CPU核数×2CPU 饱和 或 I/O 等待references/cpu.md
vmstat cs(上下文切换)> 10万/秒CPU 调度过频references/cpu.md
%iowait > 20%磁盘 I/O 瓶颈references/disk_io.md
MemAvailable < 总内存 10%内存压力references/memory.md
Swap 使用率 > 20% 且持续增长内存严重不足references/memory.md
OOM Killer 日志出现内存泄漏 或 配置不当references/memory.md
Dirty 持续 > 物理内存 5%写回积压 I/O 跟不上references/disk_io.md
大量 TIME_WAIT / CLOSE_WAIT网络连接泄漏/未优化references/network.md
网络丢包 / 重传率高TCP 参数/带宽/拥塞references/network.md
perf/gprof 热点在用户态代码编译未优化references/compile_optimization.md
CPU throttling(容器)cgroup CPU 限制过低references/cpu.md

第三步:分析报告输出格式规范

每个问题按以下六要素输出,格式统一:

### 🔴/🟡/🟢 问题名称(优先级 P0/P1/P2)

**【问题】**
观察到的指标数据和异常现象

**【原因】**
根因推断和分析

**【方案】**

具体优化命令


**【风险】**
改动的副作用和注意事项

**【验证】**

验证效果的命令


**【回滚】**

回滚命令

报告汇总表格模板

| 优先级 | 问题 | 影响范围 | 操作难度 | 建议操作 |
|--------|------|----------|----------|----------|
| 🔴 P0 | ... | ... | 低/中/高 | ... |

第四步:常见场景快速处理

🔴 内存问题

诊断命令:

cat /proc/meminfo
dmesg | grep -i "oom\|killed process" | tail -20
ps aux --sort=-%mem | head -15
slabtop -o | head -20
numastat -m 2>/dev/null          # NUMA 信息(多路服务器)

核心调优(详见 references/memory.md):

# Swap 倾向(服务器推荐 10,数据库推荐 1)
sysctl -w vm.swappiness=10

# 增大内核保留内存(防止 OOM 误杀关键进程)
sysctl -w vm.min_free_kbytes=262144   # 256MB

# 脏页回写(写密集场景)
sysctl -w vm.dirty_ratio=10
sysctl -w vm.dirty_background_ratio=5

# 透明大页(数据库/延迟敏感服务关闭)
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

# 保护关键进程免遭 OOM Kill
echo -1000 > /proc/<PID>/oom_score_adj

🔴 CPU 问题

诊断命令:

mpstat -P ALL 1 5
pidstat -u 1 5
vmstat 1 5                          # 重点看 r(运行队列)和 cs(上下文切换)
cat /proc/interrupts | sort -k2 -rn | head -20
perf stat -e cycles,instructions,cache-misses -a sleep 5

核心调优(详见 references/cpu.md):

# 减少上下文切换(调度粒度)
sysctl -w kernel.sched_min_granularity_ns=10000000
sysctl -w kernel.sched_wakeup_granularity_ns=15000000
sysctl -w kernel.sched_migration_cost_ns=5000000

# 关闭 NUMA 均衡(延迟敏感场景)
sysctl -w kernel.numa_balancing=0

# CPU 性能模式
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

# 进程 CPU 亲和性绑核
taskset -pc 0-3 <PID>

# 调整进程优先级
renice -5 -p <PID>    # 提高优先级
renice +10 -p <PID>   # 降低优先级

🔴 磁盘 I/O 问题

诊断命令:

iostat -xz 1 5
iotop -o -n 3 -b | head -30
cat /sys/block/sda/queue/nr_requests
cat /sys/block/sda/queue/scheduler
mount | grep -v "tmpfs\|proc\|sys\|dev"

核心调优(详见 references/disk_io.md):

# I/O 调度器(SSD: mq-deadline 或 none;HDD: bfq)
echo mq-deadline > /sys/block/sda/queue/scheduler

# 读预读(顺序读为主时增大)
blockdev --setra 4096 /dev/sda    # 2MB 预读

# 增大内核请求队列
echo 256 > /sys/block/sda/queue/nr_requests

# 脏页控制(防止写爆)
sysctl -w vm.dirty_bytes=268435456         # 256MB
sysctl -w vm.dirty_background_bytes=67108864  # 64MB

🔴 网络问题

诊断命令:

ss -s
ss -ant | awk '{print $1}' | sort | uniq -c
netstat -s | grep -E "fail|error|drop|overflow|reject" | grep -v " 0 "
ip -s link
ping -c 100 <target> | tail -3

核心调优(详见 references/network.md):

# TIME_WAIT 回收(高并发短连接)
sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.ipv4.tcp_fin_timeout=30

# 端口范围(主动发起连接的服务)
sysctl -w net.ipv4.ip_local_port_range="1024 65535"

# 连接队列(高并发服务)
sysctl -w net.core.somaxconn=65535
sysctl -w net.ipv4.tcp_max_syn_backlog=16384
sysctl -w net.core.netdev_max_backlog=16384

# TCP 缓冲区(高带宽场景)
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"

# 文件描述符
sysctl -w fs.file-max=2097152
ulimit -n 65535

🟡 编译优化(详见 references/compile_optimization.md)

触发条件:perf/gprof 热点集中在用户态自编译代码,且当前编译选项为 -O0/-O1
# 快速升级:从 -O1 升到 -O2(大多数场景无需其他改动)
gcc -O2 -march=native -mtune=native -fno-omit-frame-pointer -o app src/*.c

# 高性能计算场景:-O3 + LTO
gcc -O3 -march=native -flto=thin -fno-omit-frame-pointer -o app src/*.c

# 最优:PGO + LTO 组合(提升 10-20%)
# 见 references/compile_optimization.md 第4-5节

参数修改规范

临时生效(立即,重启失效)

sysctl -w 参数名=值
echo 值 > /proc/sys/...

持久化(重启后仍生效)

# 推荐:独立配置文件,易于管理和回滚
cat > /etc/sysctl.d/99-perf-analyzer.conf << 'EOF'
vm.swappiness=10
vm.dirty_ratio=10
# ... 其他参数
EOF
sysctl --system

回滚

# 临时回滚(立即生效)
sysctl -w 参数名=原始值

# 持久化回滚
rm /etc/sysctl.d/99-perf-analyzer.conf
sysctl --system

性能基线与告警阈值

告警阈值参考

指标正常警告严重
CPU 使用率< 60%> 70%> 90%
内存可用> 30%< 20%< 10%
Swap 使用率0%> 10%> 30%
磁盘使用率< 70%> 80%> 95%
load average< 核数> 核数×1.5> 核数×2
I/O await< 10ms> 20ms> 50ms
磁盘 %util< 60%> 80%> 95%
上下文切换/秒< 5万> 10万> 50万
TCP 重传率< 0.1%> 1%> 5%

建立性能基线

# 在系统正常时保存基线
bash scripts/collect_snapshot.sh > /var/log/perf-baseline-$(date +%Y%m%d).txt

# 定期对比(加入 crontab)
# 每月更新基线
0 4 1 * * bash /path/to/scripts/collect_snapshot.sh > /var/log/perf-baseline.log

# 每日清理日志
0 2 * * * journalctl --vacuum-time=7d

参考文档索引

文档内容
references/cpu.mdCPU 调优(调度器/亲和性/NUMA/中断绑核/perf profiling)
references/memory.md内存调优(swappiness/OOM/THP/HugePage/NUMA)
references/disk_io.md磁盘 I/O 调优(调度器/readahead/fio/文件系统)
references/network.md网络调优(TCP 栈/连接队列/BBR/conntrack)
references/kernel_params.md内核参数速查全表(含默认值/建议值/适用场景)
references/compile_optimization.md编译优化(GCC/Clang/PGO/LTO/SIMD)
references/case_studies.md实战案例(MySQL/Nginx/日志服务器/Java/K8s)

故障排查清单(10步法)

当性能问题发生时,按顺序检查:

  1. [ ] uptime 检查负载均值
  2. [ ] free -h 检查内存可用量
  3. [ ] df -h 检查磁盘空间
  4. [ ] top -bn1 检查 CPU 使用率和高耗进程
  5. [ ] vmstat 1 3 检查上下文切换和 I/O 等待
  6. [ ] iostat -xz 1 3 检查磁盘 I/O 详情
  7. [ ] ss -s 检查网络连接状态
  8. [ ] dmesg | tail -50 检查内核日志(OOM/硬件错误)
  9. [ ] dmesg | grep -i "oom\|killed" 检查 OOM 事件
  10. [ ] 对比基线数据,确认问题时间点

注意事项

⚠️ 生产环境修改前必读: 1. 记录原始值:sysctl 参数名 保存当前值 2. 先临时生效观察效果,确认无副作用再持久化 3. 生产环境修改前,务必先在测试环境验证 4. vm.overcommit_memory=2(严格模式)与多数应用不兼容,慎用 5. 透明大页关闭需持久化到启动脚本,重启会还原 6. net.ipv4.tcp_tw_recycle 在内核 4.12+ 已移除,使用前确认版本 7. 容器环境中部分参数(cgroup 限制)需宿主机/平台侧配合修改

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

72.38%
按下载量换算2,236

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

通过

权限和风险

可写文件

该 Skill 可能写入或修改本地文件,使用前需要确认目标目录和修改范围。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills