sysstat 是 Linux 系统性能监控工具集,包含 sar、iostat、mpstat、pidstat 等核心组件,可实时或历史分析 CPU、内存、磁盘 I/O、网络等资源的使用情况。
本文通过一些典型应用实例来讲解下pidstat这个工具是用法。
pidstat(进程监控工具)主要用于监控进程级别的 CPU、内存、I/O 资源消耗。
安装方法:
apt install sysstat -y
实例1、查看进程的 CPU 使用率(每2秒刷新)
pidstat -u 2
实例2、监控指定进程(如 PID 1234)的 I/O,常用作分析进程是否频繁读写磁盘,导致 I/O 瓶颈(如数据库服务)
pidstat -d -p 1234 1
输出解释:
kB_rd/s:每秒读取数据量(KB)。
kB_wr/s:每秒写入数据量(KB)。
实例3、监控进程内存使用(PID 5678),常用作检测内存泄漏或异常内存增长
pidstat -r -p 5678 1
输出解释:
VSZ:虚拟内存大小(KB)。
RSS:常驻内存大小(KB)。
%MEM:内存占用百分比。
实例4、跟踪上下文切换,常用为优化多线程程序的锁竞争或调度效率。
pidstat -w -p 8910 1
参数:-w 表示上下文切换统计。
输出解释:
cswch/s:自愿切换次数(如等待 I/O)。
nvcswch/s:非自愿切换次数(如时间片耗尽)。
实例5、综合采集(CPU+内存+I/O)输出 CSV 格式
pidstat -urd -p 1234 1 --output=/var/pidstat.csv
总结
pidstat 是定位进程级性能问题的利器。通过不同参数组合,可精准分析 CPU、内存、I/O 等资源的使用细节,尤其适合多线程或高并发场景下的瓶颈排查。使用时建议结合 top、vmstat 等工具,形成完整的性能分析链条。