Linux命令-pidstat
pidstat命令是一个用于监控系统中各个进程活动的性能监控工具。它能够实时输出每个进程的 CPU、内存、I/O 等关键性能指标。以下是关于 pidstat 命令的详细介绍:
语法
pidstat [选项] [时间间隔] [次数]
常用选项
-h 或 --help :显示帮助信息。
-v :显示版本信息。
-p <进程ID> :指定要监控的进程 ID,如果不指定则监控所有进程。
-r :报告内存使用情况。
-d :报告 I/O 使用情况。
-u :报告 CPU 使用情况(这是默认选项)。
-s :报告交换空间的使用情况。
-t :报告线程信息。
-U <用户名> :指定用户,仅报告该用户的进程。
-I :不报告 idle 空闲进程。
-G <正则表达式> :仅报告命令名称与给定的正则表达式相匹配的进程。
-H :报告进程的层次结构。
-T <参数> :报告线程的特定信息,如生命周期、唤醒延迟、抢占等。
-w :报告工作集大小和页错误计数。
-S :在报告中包含子进程的统计信息。
-x :报告扩展的统计信息。
输出说明
Time :报告的时间戳。
#PID :进程 ID。
c :CPU 使用的内核(如果有多个 CPU 或核心)。
% CPU :CPU 使用率。
Command :进程的命令名称。
minflt/s :每秒最小页面错误次数(单位:次/秒)。
majflt/s :每秒重大页面错误次数(单位:次/秒)。
VSZ :虚拟内存使用量(单位:KB)。
RSS :物理内存使用量(单位:KB)。
RS :读取的扇区数(单位:扇区/秒)。
WS :写入的扇区数(单位:扇区/秒)。
User :用户进程使用 CPU 的时间(单位:毫秒)。
System :内核进程使用 CPU 的时间(单位:毫秒)。
CPU :进程最后运行的 CPU 核心。
UID :进程的用户 ID。
常见用法示例
查看 CPU 使用率
pidstat -u 1
每秒更新一次 CPU 使用情况。
查看内存使用情况
pidstat -r
显示每个进程的虚拟内存和物理内存使用情况。
查看 I/O 使用情况
pidstat -d
显示每个进程的读写磁盘情况。
查看特定进程的信息
pidstat -p 1234
查看线程信息
pidstat -t -p 1234
监控进程 ID 为 1234 的进程的所有线程信息。
查看 CPU 使用率最高的前 3 个进程
pidstat -u 1 | head -n 5
每秒显示 CPU 使用率最高的前 3 个进程。
将监控数据输出到文件
pidstat -u 1 > monitor.log &
将监控的 CPU 使用数据每秒输出到 monitor.log 文件中。
注意事项
需要安装 sysstat 包才能使用 pidstat 命令,在 Ubuntu 上可以通过 sudo apt-get install sysstat 安装,在 CentOS 上可以通过 yum install sysstat 安装。