Linux 系统性能监控工具集sysstat之pidstat

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 等工具,形成完整的性能分析链条。

原文链接:,转发请注明来源!