插件窝 干货文章 超全整理 - Linux性能分析工具汇总合集

超全整理 - Linux性能分析工具汇总合集

功能 示例 bash 性能分析 497    来源:    2025-04-13

Linux性能分析工具汇总合集

系统整体性能监控

1. top

  • 功能:实时显示系统整体资源使用情况和进程信息
  • 常用参数bash top -d 5 # 5秒刷新一次 top -p PID # 监控指定进程 top -u USER # 监控指定用户进程

2. htop

  • 功能:增强版top,支持颜色、鼠标操作和树状视图
  • 安装bash sudo apt install htop # Debian/Ubuntu sudo yum install htop # RHEL/CentOS

3. glances

  • 功能:跨平台系统监控工具,支持Web界面
  • 安装bash sudo pip install glances glances -w # 启动Web服务器

CPU性能分析

1. vmstat

  • 功能:显示虚拟内存、进程、CPU活动等信息
  • 示例bash vmstat 1 5 # 每秒1次,共5次

2. mpstat

  • 功能:多核CPU性能分析
  • 安装bash sudo apt install sysstat
  • 示例bash mpstat -P ALL 1 # 监控所有CPU核心

3. perf

  • 功能:Linux性能计数器分析工具
  • 常用命令bash perf stat -a sleep 5 # 系统整体统计 perf top # 实时性能分析 perf record -g -p PID # 记录进程性能数据 perf report # 分析记录数据

内存分析

1. free

  • 功能:显示内存使用情况
  • 常用参数bash free -h # 人类可读格式 free -s 5 # 每5秒刷新

2. pmap

  • 功能:显示进程内存映射
  • 示例bash pmap -x PID

3. valgrind

  • 功能:内存调试和性能分析工具
  • 示例bash valgrind --tool=memcheck --leak-check=full ./program

磁盘I/O分析

1. iostat

  • 功能:监控磁盘I/O和CPU使用情况
  • 示例bash iostat -x 1 5 # 扩展统计,每秒1次共5次

2. iotop

  • 功能:类似top的磁盘I/O监控工具
  • 安装bash sudo apt install iotop

3. dstat

  • 功能:全能系统资源统计工具
  • 示例bash dstat -cdngy 1 # CPU,磁盘,网络,内存,系统统计

网络性能分析

1. iftop

  • 功能:实时网络带宽监控
  • 安装bash sudo apt install iftop
  • 示例bash iftop -i eth0

2. nethogs

  • 功能:按进程显示网络带宽使用
  • 示例bash nethogs eth0

3. tcpdump

  • 功能:网络抓包分析
  • 示例bash tcpdump -i eth0 -w capture.pcap

4. netstat/ss

  • 功能:网络连接统计
  • 示例bash netstat -tulnp # 传统netstat ss -tulnp # 更快的替代方案

进程分析

1. ps

  • 功能:进程状态查看
  • 常用组合bash ps aux ps -ef ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

2. strace

  • 功能:系统调用跟踪
  • 示例bash strace -p PID strace -c ./program

3. lsof

  • 功能:列出打开文件
  • 示例bash lsof -i :80 # 查看80端口使用 lsof -u username # 查看用户打开文件

高级性能分析

1. sar

  • 功能:系统活动报告
  • 安装bash sudo apt install sysstat
  • 示例bash sar -u 1 5 # CPU使用率 sar -r 1 5 # 内存使用 sar -b 1 5 # I/O统计

2. bpftrace

  • 功能:基于eBPF的高级跟踪工具
  • 示例bash bpftrace -e 'tracepoint:syscalls:sys_enter_* { @[probe] = count(); }'

3. SystemTap

  • 功能:系统级动态跟踪
  • 示例bash stap -e 'probe vfs.read {printf("read performed\n"); exit()}'

可视化工具

1. Grafana + Prometheus

  • 功能:指标监控和可视化
  • 典型组合
    • Prometheus: 指标收集
    • Node Exporter: 系统指标暴露
    • Grafana: 数据可视化

2. Netdata

  • 功能:实时性能监控仪表板
  • 安装bash bash <(curl -Ss https://my-netdata.io/kickstart.sh)

性能基准测试

1. sysbench

  • 功能:CPU、内存、文件I/O、数据库等基准测试
  • 示例bash sysbench cpu --threads=4 run

2. fio

  • 功能:灵活的I/O测试工具
  • 示例bash fio --name=randread --ioengine=libaio --rw=randread --bs=4k --numjobs=4 --size=1G --runtime=60 --time_based --group_reporting

使用建议

  1. 问题定位流程

    • 先用top/htop查看整体情况
    • vmstat/iostat确认瓶颈方向
    • 使用针对性工具深入分析
  2. 长期监控

    • 配置sysstat收集历史数据
    • 部署Prometheus+Grafana监控平台
  3. 性能分析黄金法则

    • 先测量,后优化
    • 一次只改变一个变量
    • 记录所有测试结果

这些工具组合使用可以帮助您全面分析Linux系统的性能问题,从整体监控到特定组件深入分析,满足不同层次的性能调优需求。