pidstat是一个常用的进程性能分析工具,用来实时查看进城的cpu,内存,io以及上下文切换等。
安装
本人是centos7系统,安装方式:# yum install sysstat (和mpstat在一个包里)
命令格式:pidstat [参数] [时间] [次数]
输入参数说明:
-u 默认的参数,显示各个进程的CPU使用统计。
-r 显示各个进程的内存使用统计。
-d 显示各个进程的IO使用情况。
-p 指定进程号。
-w 显示每个进程的上下文切换情况。
-t 显示选择任务的线程的统计信息外的额外信息 。
输出参数详解:
场景1:查看CPU使用情况
#pidstat -u
查看CPU使用情况UID:用户ID
PID:进程ID
%usr:进程在用户空间占用CPU的百分比
%system:进程在内核空间占用CPU的百分比
%guest:任务花费在虚拟机上的CPU使用率(运行在虚拟处理器)
%CPU:任务总的CPU使用率
CPU:正在运行这个任务的处理器编号
Command:这个任务的命令名称
场景2 :查看内存使用情况
#pidstat -r
查看内存使用情况输出重点内容详解:
minflt/s:从内存中加载数据时每秒出现的次要错误的数目,这些不要求从磁盘载入内存页面
majflt/s:从内存中加载数据时每秒出现的主要错误的数目,这些要求从磁盘载入内存页面
VSZ:虚拟地址大小,虚拟内存的使用KB
RSS:长期内存使用,任务的不可交换物理内存的使用量KB
%MEM:进程使用的物理内存百分比,top命令也会输出该字段
场景3:查看IO使用情况
#pidstat -d
查看IO使用情况输出重点内容详解:
kB_rd/s:进程每秒从磁盘读取的数据量(以kB为单位)
kB_wr/s:进程每秒向磁盘写入的数据量(以kB为单位)
kB_ccwr/s:任务写入磁盘被取消的速率(KB);当任务截断脏的pagecache的时候会发生。
场景4:查看线程的额外统计信息
#pidstat -t
查看线程统计信息输出重点内容详解:
TGID:主线程的标识
TID:线程ID
场景5:查看进程的上下文切换情况
#pidstat -w
进程的上下文切换情况cswch:每秒自愿上下文切换的次数。
nvcswch:每秒非自愿上下文切换的次数。
网友评论