PIDStat - 监视并查找Linux Procesess的统计信息
PIDStat命令用于监控当前由Linux内核管理的各个任务。
它为Linux内核管理的每个任务写入标准输出活动。
PIDStat命令也可用于监视所选任务的子进程。
Interval参数指定每个报告之间的时间内的时间量。
值为0(或者根本没有参数)表示自系统启动以来的时间报告任务统计信息(引导)。
如何安装pidstat
PIDStat是Sysstat套件的一部分,其中包含适用于Linux的各种系统性能工具,它可以在大多数Linux发行版的存储库上提供。
要在Debian/Ubuntu Linux系统上安装它,我们可以使用以下命令:
# apt-get install sysstat
如果我们使用的是CentOS/Fedora/Rhel Linux,则可以安装这样的包:
# yum install sysstat
使用PIDStat.
运行PIDSTAT不具有任何参数等同于指定-p所有但仅在报告中显示所有活动任务(具有非零统计值的任务)。
# pidstat
在输出中,我们可以看到:PID监视任务的标识号。
任务在用户级别(应用程序)中执行的CPU的%USR百分比,有或者没有优先级。
请注意,此字段不包括运行虚拟处理器的时间。
在系统级别执行任务时,任务使用的CPU的%系统百分比。
通过虚拟机中的任务所花费的CPU的%百分比(运行虚拟处理器)。
%CPU任务使用的CPU时间的总百分比。
在SMP环境中,任务的CPU使用率将除以CPU的总数,如果在命令行上输入了Option -I。
添加任务的CPU处理器编号。
命令任务的命令名称。
I/O统计数据
我们可以使用PIDStat获取有关使用-d标志的进程的I/O统计信息。
例如:
# pidstat -d -p 8472
IO输出将显示几列:kb_rd/s千字节数的千字节,任务已从每秒读取读取。
kb_wr/s千字节的任务造成的,或者应导致每秒写入磁盘。
Kb_ccwr/s的千字节数,其写入磁盘已被任务取消。
页面错误和内存使用情况
使用-r标志,我们可以获取有关内存使用和页面错误的信息。
重要列:
minflt/s的小故障总数任务每秒制作,那些没有必需从磁盘加载内存页面的那些。
Majflt/s的主要故障总数任务每秒制作,那些需要从磁盘加载内存页面的那些。
VSZ虚拟大小:以千字节为单位的整个任务的虚拟内存使用。
RSS驻留集大小:任务以千字节为单位使用的非交换物理内存。
例子
1.我们可以使用PIDStat使用以下命令查找内存韭菜:
# pidstat -r 2 5
这将为我们提供5个报告,每2秒一次,关于当前页面错误统计信息,应该易于发现问题过程。
2.要显示MySQL Server的所有子项,我们可以使用以下命令
# pidstat -T CHILD -C mysql
3.要将所有统计数据组合在一份报告中,我们可以使用:
# pidstat -urd -h