PIDStat - 监视并查找Linux Procesess的统计信息

时间:2020-03-05 15:28:37  来源:igfitidea点击:

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