PIDSTAT
NAME
pidstat对linux任务的统计
语法
pidstat [ -C comm ] [ -d ] [ -h ] [ -I ] [ -l ] [ -p { pid [,...] | SELF | ALL } ] [ -r ] [ -t ] [ -T { TASK | CHILD | ALL } ] [ -u ] [ -V ] [ -w ] [ interval [ count ] ]
描述
pidstat命令用来监控当前被linux内核管理的独立的任务。输出-p参数的每个任务或者-p ALL输出所有linux内核管理的任务。如果不写参数默认为-p ALL不过只有活动的任务会出现在报告中。
Pidstat命令可用来监控选择任务的子进程。具体看-T选项。
Interval参数指定每次报告的间隔时间。如果为0表示报告从系统启动后的统计信息。Cout参数表示生成的报告数量。如果interval没有指定count参数会一直生成。
你可以通过指定选项来指定活动的,如果不指定则只有现实cpu活动。
选项
-C comm
只显示包含comm字符串的任务。
-d
报告IO统计显示以下信息:
PID:进程id
kB_rd/s:每秒从磁盘读取的KB
kB_wr/s:每秒写入磁盘KB
kB_ccwr/s:任务取消的写入磁盘的KB。当任务截断脏的pagecache的时候会发生。
COMMAND:task的命令名
-h
在一行上显示了所有活动,这样其他程序可以容易解析。
-I
在SMP环境,表示任务的CPU使用率/内核数量
-l
显示命令名和所有参数
-p{ pid [,...] | SELF | ALL }
选择一个任务(进程),报告统计信息。Pid是进程标识符。SELF关键字说明pidstat报告自己的进程,如果为ALL报告系统中所有的任务。
-r
报告错误也和内存利用,当报告某个任务,显示如下:
PID:进程标识符
Minflt/s:任务每秒发生的次要错误,不需要从磁盘中加载页
Majflt/s:任务每秒发生的主要错误,需要从磁盘中加载页
VSZ:虚拟地址大小,虚拟内存的使用KB
RSS:常驻集合大小,非交换区五里内存使用KB
Command:task命令名
当显示全局统计所有任务和所有线程,会显示以下值:
PID:进程标识符
Minflt-nr:interval时间内,所有任务和子线程的次要错误。
Majflt-nr:interval时间内,所有任务和子线程的主要错误。
Command:命令名
-t
显示选择任务的线程的统计信息外的额外信息:
TGID:主线程的表示
TID:线程id
-T { TASK | CHILD | ALL }
这个选项指定了pidstat监控的。TASK表示报告独立的task,CHILD关键字表示报告进程下所有线程统计信息。ALL表示报告独立的task和task下面的所有线程。
注意:task和子线程的全局的统计信息和pidstat选项无关。这些统计信息不会对应到当前的统计间隔,这些统计信息只有在子线程kill或者完成的时候才会被收集。
-u
报告CPU利用率
报告独立进程是显示:
PID:进程id
%usr:用户级别cpu使用率
%system:系统级别cpu使用率
%guest:虚拟处理器的cpu使用率
%CPU:总CPU使用率
CPU:进程使用到的cpu个数。
Command:命令名
当报告任务和所有线程全局统计信息:
PID:进程id
Usr-ms:任务和子线程在用户级别使用的毫秒数。
System-ms:任务和子线程在系统级别使用的毫秒数。
Guest-ms:任务和子线程在虚拟机(running a virtual processor)使用的毫秒数。
Command:命令名
-V
输出版本号。
-w
报告上下文切换活动:
PID:进程id
Cswch/s:每秒主动任务上下文切换数量
Nvcswch/s:每秒被动任务上下文切换数量
Command:命令名