Linux-pidstat Monitor and Find Statistics for Linux Procesess
pidstat概述
Linux-pidstat监控并统计Linux进程的数据
pidstat命令用来监控被Linux内核管理的独立任务(进程)。它输出每个受内核管理的任务的相关信息。pidstat命令也可以用来监控特定进程的子进程。间隔参数用于指定每次报告间的时间间隔。它的值为0(或者没有参数)说明进程的统计数据的时间是从系统启动开始计算的。
安装pidstat
pidstat 是sysstat软件套件的一部分,sysstat包含很多监控linux系统状态的工具,它能够从大多数linux发行版的软件源中获得。
在Debian/Ubuntu系统中可以使用下面的命令来安装
# apt-get install sysstat
CentOS/Fedora/RHEL版本的linux中则使用下面的命令:
# yum install sysstat
使用pidstat
使用pidstat不加任何参数等价于加上-p参数,但是只有正在活动的任务会被显示出来。
# pidstat
在结果中你能看到如下内容:
- PID - 被监控的任务的进程号
- %usr - 当在用户层执行(应用程序)时这个任务的cpu使用率,和 nice
优先级无关。注意这个字段计算的cpu时间不包括在虚拟处理器中花去的时间。 - %system - 这个任务在系统层使用时的cpu使用率。
- %guest - 任务花费在虚拟机上的cpu使用率(运行在虚拟处理器)。
- %CPU - 任务总的cpu使用率。在SMP环境(多处理器)中,如果在命令行中输入-I参数的话,cpu使用率会除以你的cpu数量。
- CPU - 正在运行这个任务的处理器编号。
- Command - 这个任务的命令名称。
I/O 统计数据
通过使用-d参数来得到I/O的统计数据。比如:
[xgj@entel2 ~]$ pidstat -d -p 2749
Linux 3.10.5-3.el6.x86_64 (entel2) 01/19/2017 _x86_64_ (24 CPU)08:20:06 PM PID kB_rd/s kB_wr/s kB_ccwr/s Command
08:20:06 PM 2749 0.00 0.00 0.00 mdbJob
[xgj@entel2 ~]$
IO 输出会显示一些内的条目:
- kB_rd/s - 任务从硬盘上的读取速度(kb)
- kB_wr/s - 任务向硬盘中的写入速度(kb)
- kB_ccwr/s - 任务写入磁盘被取消的速率(kb)
页面失败和内存使用
使用-r标记你能够得到内存使用情况的数据。
[xgj@entel2 ~]$ pidstat -r -p 2749
Linux 3.10.5-3.el6.x86_64 (entel2) 01/19/2017 _x86_64_ (24 CPU)08:21:04 PM PID minflt/s majflt/s VSZ RSS %MEM Command
08:21:04 PM 2749 0.00 0.00 1708464 34100 0.03 mdbJob
[xgj@entel2 ~]$
重要的条目:
- minflt/s - 从内存中加载数据时每秒出现的小的错误的数目,这些不要求从磁盘载入内存页面。
- majflt/s - 从内存中加载数据时每秒出现的较大错误的数目,这些要求从磁盘载入内存页面。
- VSZ - 虚拟容量:整个进程的虚拟内存使用(kb)
- RSS - 长期内存使用:任务的不可交换物理内存的使用量(kb)
案例
1. 你可以通过使用下面的命令来监测内存使用
# pidstat -r 2 5
这会给你5份关于page faults的统计数据结果,间隔2秒。这将会更容易的定位出现问题的进程。
2. 显示所有mysql服务器的子进程
# pidstat -T CHILD -C OCProLinux 2.6.32-431.el6.x86_64 (centos6.5) 01/20/2017 _x86_64_ (8 CPU)12:40:42 AM PID usr-ms system-ms guest-ms Command
12:40:42 AM 22022 3200 3920 0 OCPro
12:40:42 AM 22027 3310 4200 0 OCPro
12:40:42 AM 22032 3240 4010 0 OCPro
12:40:42 AM 22037 3270 4010 0 OCPro
12:40:42 AM 22042 3110 3940 0 OCPro
3. 将所有的统计数据结合到一个便于阅读的单一报告中:
# pidstat -urd -h
Linux-pidstat Monitor and Find Statistics for Linux Procesess相关推荐
- 【Linux】一步一步学Linux——as命令(260)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 as命令GNU组织推出的一款汇编语言编译器,它支持多种不同 ...
- 【Linux】一步一步学Linux——set命令(222)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 set命令作用主要是显示系统中已经存在的shell变量,以 ...
- 【Linux】一步一步学Linux——readonly命令(219)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 readonly命令用于定义只读shell变量和shell ...
- 【Linux】一步一步学Linux——ss命令(170)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 ss命令用来显示处于活动状态的套接字信息.ss命令可以用来 ...
- 【Linux】一步一步学Linux——netstat命令(166)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 netstat命令用于显示各种网络相关信息,如网络连接,路 ...
- 【Linux】一步一步学Linux——ethtool命令(155)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 总结 06. 附录 01. 命令概述 ethtool命令用于查询ethX网口基本设 ...
- 【Linux】一步一步学Linux——ping命令(150)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 使能和禁用ping的方法 06. 总结 07. 附录 01. 命令概述 ping命 ...
- linux扩展磁盘空间命令_在Linux上监视磁盘空间– SQL Server DBA的有用命令
linux扩展磁盘空间命令 In this article, we will explore the different Linux commands related to the disk spac ...
- [RHEL5企业级Linux服务攻略]--第1季 Linux服务器的搭建与测试
1 Red Hat Enterprise Linux 5的安装 安装Red Hat Linux的硬件要求如下,一般现在的电脑配置都可以满足这些要求了哈: CPU:Pentium以上处理器.文本模式推荐 ...
最新文章
- java反射 invoke详解
- python3 如何让字典保持有序
- springmvc九:spring mvc 简单介绍
- 如何在JS中应用正则表达式
- FastCGI - Getting Request URI and Content in C++ FCGI
- iOS报错:linker command failed with exit code 1 (use -v to see invocation) 问题解决方式之一
- Jdk1.6 JUC源码解析(12)-ArrayBlockingQueue
- Texpad for Mac(LaTeX编辑器软件)
- Koa-router 优先级问题
- ×××计算机信息系统安全保护条例
- CentOS 7:安装网易云音乐
- java 设置压缩文件大小不变_为什么把文件压缩后,文件大小却不变呢?
- Valve在Game Dev Conference上,OUYA上的1000场比赛等等
- 使用J-Flash烧录固件
- 漫画人物头像总是画不好?快看看这些注意点你有没有中招!
- php聊天室禁言时间开发,聊天室技术(五) -- 指挥中心_PHP
- android 原生分享文件,Android原生文件分享
- 喜欢士兵突击,我们都丢掉了,许三多没有丢
- java中 先进后出的集合_程序猿的日常——Java中的集合列表
- 蓝桥ROS之f1tenth案例学习与调试(成功)
热门文章
- C++基本序列式容器 vector (一)
- php聊天功能_php实现简单聊天功能
- 安装程序无法创建新的系统分区也无法定位现有系统分区_如何拥有一个 Windows 10 和 Debian 10 的双系统...
- 【数学建模】MATLAB应用实战系列(九十一)-熵权法应用案例(附MATLAB和Python代码)
- MATLAB在人工智能中的应用案例:以MATLAB的方式玩转自动驾驶(附部分代码)
- shell脚本一键安装JDK及配置环境变量
- 朴素贝叶斯(NaiveBayes)算法总结
- Hadoop ssh配置设置
- TensorFlow官方入门实操课程-全连接神经网络分类
- python logging 毫秒级别的时间打印