温馨提示×

ubuntu进程性能测试方法

小樊
147
2025-09-06 09:45:20
栏目: 智能运维

以下是Ubuntu系统下进程性能测试的常用方法及工具,可按需选择:

一、基础监控工具

  • top/htop
    • 功能:实时查看进程的CPU、内存占用,支持排序(如按%MEM%CPU)。
    • 安装top默认安装,htop需执行 sudo apt install htop
  • vmstat
    • 功能:监控系统整体内存、CPU、I/O使用情况,支持按秒刷新。
    • 用法vmstat 1(每秒输出一次)。

二、CPU性能分析

  • perf
    • 功能:分析CPU缓存命中率、指令数等,支持函数级性能剖析。
    • 用法
      sudo apt install linux-tools-common  
      sudo perf stat -e cache-misses,instructions ./your_program  # 统计缓存未命中和指令数  
      sudo perf record -g ./your_program  # 记录性能数据,用perf report分析  
      
  • mpstat
    • 功能:查看每个CPU核心的使用率,适合多核分析。
    • 用法mpstat -P ALL 1(显示所有核心的使用情况)。

三、内存性能分析

  • ps/pmap
    • 功能:查看进程的内存占用(物理内存/虚拟内存)。
    • 用法
      ps aux --sort=-%mem | head  # 按内存占用排序  
      pmap <pid>  # 查看指定进程的内存映射  
      
  • Valgrind Callgrind
    • 功能:深度分析内存泄漏及CPU缓存使用情况,适合C/C++程序。
    • 用法valgrind --tool=callgrind ./your_program,生成报告后用kcachegrind可视化。

四、I/O与系统级分析

  • iostat
    • 功能:监控磁盘I/O负载、读写速度。
    • 用法iostat -x 1(显示详细I/O指标,如await%util)。
  • sar
    • 功能:记录系统活动历史数据,支持长期性能分析。
    • 用法sar -u 1 5(每秒采样一次CPU使用率,共5次)。

五、综合工具与高级场景

  • dool
    • 功能:整合vmstatiostat等数据,支持CSV输出和排序。
    • 用法dool -c -dn --top-cpu --top-mem(显示CPU和内存占用最高的进程)。
  • bpftrace
    • 功能:基于eBPF的内核级性能追踪,适合定位CPU热点或异常调度。
    • 用法bpftrace -e 'profile:hz:99 { @[kstack] = count(); }'(统计内核函数调用频率)。

选择建议

  • 快速定位:用top/htop查看实时占用,vmstat监控整体资源。
  • CPU优化:用perf分析缓存和指令效率,mpstat定位多核瓶颈。
  • 内存分析:用ps/pmap查看内存占用,Valgrind检测泄漏。
  • 高级场景:用bpftracedool进行深度追踪和可视化分析。

以上工具均来自Ubuntu官方仓库,可通过apt直接安装。

0