可用于监控进程占用系统资源情况
命令参数详解:
-d:显示IO统计信息
-u:查看cpu统计信息
-w:查看进程上下文切换次数
-r:查看进程内存使用情况
-s:查看进程的堆栈利用率
pidstat -d 1 3 # 每秒打印io统计信息,打印三次
pidstat -u 1 3 # 每秒打印cpu统计信息,打印三次
pidstat -w 1 3 # 每秒打印进程上下文切换次数,打印三次
pidstat -r 1 3 # 每秒打印进程内存使用情况,打印三次
pidstat -s 1 3 # m每秒打印进程堆栈利用率,打印三次
$pidstat -w 2
Average: UID PID cswch/s nvcswch/s Command
Average: 0 10 1.64 0.00 ksoftirqd/0
Average: 0 11 15.60 0.00 rcu_sched
Average: 0 12 0.25 0.00 migration/0
Average: 0 157 0.75 0.00 kworker/0:1H-kblockd
Average: 0 261 0.38 0.13 jbd2/vda2-8
Average: 0 472 1.01 0.00 multipathd
Average: 0 697 1.01 0.00 iscsid
Average: 112 47119 1.01 0.00 ntpd
Average: 0 203906 0.25 0.00 uwsgi
Average: 0 203907 1.01 0.00 uwsgi
Average: 0 1578977 0.25 0.00 barad_agent
Average: 0 1578983 1.64 0.25 barad_agent
Average: 0 3972140 7.17 0.00 kworker/0:1-events
Average: 0 3973408 74.21 0.00 kworker/u2:1-events_power_efficient
Average: 0 3976611 30.69 0.00 kworker/u2:2-events_power_efficient
Average: 1000 3977243 89.94 0.38 sshd
Average: 1000 3977572 0.50 90.94 pidstat
# cswch/s: 每秒任务主动(自愿的)切换上下文的次数,当某一任务处于阻塞等待时,将主动让出自己的CPU资源。
# nvcswch/s: 每秒任务被动(不自愿的)切换上下文的次数,CPU分配给某一任务的时间片已经用完,因此将强迫该进程让出CPU的执行权