pidstat命令是一种Linux系统监控的命令,使用pidstat命令能够对Linux系统进程数据进行监控。mysql
pidstat 是sysstat软件套件的一部分,sysstat包含不少监控linux系统状态的工具,它可以从大多数linux发行版的软件源中得到。linux
在Debian/Ubuntu系统中能够使用下面的命令来安装sql
# apt-get install sysstat
CentOS/Fedora/RHEL版本的linux中则使用下面的命令:服务器
# yum install sysstat
使用pidstat不加任何参数等价于加上-p参数,可是只有正在活动的任务会被显示出来。工具
# pidstat
在结果中你能看到以下内容:spa
%usr - 当在用户层执行(应用程序)时这个任务的cpu使用率,和 nice 优先级无关。注意这个字段计算的cpu时间不包括在虚拟处理器中花去的时间。命令行
%system - 这个任务在系统层使用时的cpu使用率。code
%guest - 任务花费在虚拟机上的cpu使用率(运行在虚拟处理器)。blog
%CPU - 任务总的cpu使用率。在SMP环境(多处理器)中,若是在命令行中输入-I参数的话,cpu使用率会除以你的cpu数量。进程
CPU - 正在运行这个任务的处理器编号。
Command - 这个任务的命令名称。
经过使用-d参数来获得I/O的统计数据。好比:
# pidstat -d -p 8472
kB_rd/s - 任务从硬盘上的读取速度(kb)
kB_wr/s - 任务向硬盘中的写入速度(kb)
kB_ccwr/s - 任务写入磁盘被取消的速率(kb)
使用-r标记你可以获得内存使用状况的数据。
minflt/s - 从内存中加载数据时每秒出现的小的错误的数目,这些不要求从磁盘载入内存页面。
majflt/s - 从内存中加载数据时每秒出现的较大错误的数目,这些要求从磁盘载入内存页面。
VSZ - 虚拟容量:整个进程的虚拟内存使用(kb)
RSS - 长期内存使用:任务的不可交换物理内存的使用量(kb)
你能够经过使用下面的命令来监测内存使用
# pidstat -r 2 5
这会给你5份关于page faults的统计数据结果,间隔2秒。这将会更容易的定位出现问题的进程。
显示全部mysql服务器的子进程
# pidstat -T CHILD -C mysql
将全部的统计数据结合到一个便于阅读的单一报告中:
# pidstat -urd -h
参考连接:https://mp.weixin.qq.com/s/YIsa_14h7iQBemxvHwMZZw