【我的Linux,我做主!】CPU监控命令之pidstat、mpstat命令

目录:
(一)pidstat简介
(二)mpstat简介



(一)pidstat简介
(1.1)pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU、内存、设备IO、任务切换、线程等,pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。
(1.2)常用的命令格式
# pidstat [参数] [时间] [次数]
(1.3)命令参数
常见的命令参数如下:
-u:默认的参数,显示各个进程的CPU使用统计
-r:显示各个进程的内存使用统计
-d:显示各个进程的IO使用情况
-p:指定进程号
-w:显示每个进程的上下文切换情况
-t:显示选择任务的线程的统计信息外的额外信息
(1.4)使用实例
(1.4.1)实例1:直接使用pidstat命令,其中pidstat和pidstat -u -p ALL是等效的,默认显示所有进程的CPU使用率。
# pidstat -u -p ALL
说明:
UID:用户ID
PID:进程ID
%user:进程在用户空间占用CPU的百分比
%system:进程在内核空间占用CPU的百分比
%guest:任务花费在虚拟机上的CPU使用率(运行在虚拟处理器)
%CPU:任务总的CPU使用率
CPU:正在运行这个任务的处理器编号
Command:这个任务的命令名称


(1.4.2)实例2:查看进程内存使用情况信息
# pidstat -r
minflt/s:从内存中加载数据时每秒出现的次要错误的数目,这些不要求从磁盘载入内存页面
majflt/s:从内存中加载数据时每秒出现的主要错误的数目,这些要求从磁盘载入内存页面
VSZ:虚拟地址大小,虚拟内存的使用KB
RSS:长期内存使用,任务的不可交换物理内存的使用量KB
%MEM:进程使用的物理内存百分比,top命令也会输出该字段

(1.4.3)实例3:查看进程IO情况信息
# pidstat -d
kB_rd/s:进程每秒从磁盘读取的数据量(以kB为单位)
kB_wr/s:进程每秒向磁盘写入的数据量(以kB为单位)
kB_ccwr/s:任务写入磁盘被取消的速率(kB);当任务截断脏的pagecache的时候会发生

(1.5)pidstat常用命令
使用pidstat进行问题定位时,以下命令常被用到:
# pidstat -u 1---获取CPU的统计信息,采集周期为1秒

# pidstat -r 1---获取内存的统计信息,采集周期为1秒

# pidstat -d 1---获取磁盘IO的统计信息,采集周期为1秒



(二)mpstat简介
(2.1)mpstat命令主要用于多CPU环境下,它显示各个可用CPU的状态。这些信息存放在/proc/stat文件中。在多CPU系统中,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。
(2.2)常用命令格式:
mpstat [选项] [参数]
(2.3)命令参数:当没有参数时,mpstat则显示系统启动以后所有信息的平均值,有internal时,第一行的信息自系统启动以来的平均信息,从第二行开始,输出为前一个internal时间段的平均信息。
-P {0|1|ALL}:表示监控哪个CPU,CPU在[0,(CPU个数-1)]中取值

internal:相邻的两次采样的间隔时间
count:采样的次数,count只能和delay一起使用
(2.4)使用实例:
(2.4.1)实例1:直接使用mpstat命令,当mpstat不带参数时,输出为从系统启动以来的平均值。

(2.4.2)实例2:查看多核CPU核心的当前运行状况信息,每2秒更新一次,生成一次信息
# mpstat -P ALL 2 1
说明:
%user:在internal时间段里(相邻的两次采样的间隔时间),用户态的CPU时间(%),不包含nice值为负进程---(user/total)*100
%nice:在internal时间段里,nice值为负进程的CPU时间(%)---(nice/total)*100
%sys:在internal时间段里,内核时间(%)---(system/total)*100
%iowait:在internal时间段里,硬盘IO等待时间(%)---(iowait/total)*100
%irq:在internal时间段里,硬中断时间(%)---(irq/total)*100
%soft:在internal时间段里,软中断时间(%)---(softirq/total)*100
%idle:在internal时间段里,CPU除去等待IO操作外的因为任何原因而空闲的时间闲置时间(%)---(idle/total)*100

(2.5)经验总结:
(2.5.1)vmstat和mpstat命令的差别是:mpstat可以显示每个处理器的统计,而vmstat显示所有处理器的统计。因此,编写了糟糕的应用程序即不使用多线程体系结构的程序,可能会运行在一个多处理器的机器上,而不使用所有处理器,没有发挥多处理的功效。从而导致一个CPU过载,而其他CPU却很空闲。通过mpstat可以轻松诊断这些类型的问题。
(2.5.2)vmstat中所有关于CPU的总结都适合mpstat。当你看到较低的%idle数字时,您知道出现了CPU不足的问题。当你看到较高的%iowait数字时,你知道在当前负载下I/O子系统出现了某些问题。

—————— 本文至此结束,感谢阅读 ——————

原文地址:https://blog.51cto.com/13613726/2461902

时间: 2024-11-07 05:43:28

【我的Linux,我做主!】CPU监控命令之pidstat、mpstat命令的相关文章

Linux下查看CPU型号,内存大小,硬盘空间命令

1 查看CPU 1.1 查看CPU个数 # cat /proc/cpuinfo | grep "physical id" | uniq | wc -l 2 **uniq命令:删除重复行;wc –l命令:统计行数** 1.2 查看CPU核数 # cat /proc/cpuinfo | grep "cpu cores" | uniq cpu cores : 4 1.3 查看CPU型号 # cat /proc/cpuinfo | grep 'model name' |un

Linux CPU实时监控mpstat命令详解

Linux CPU实时监控mpstat命令详解 简介 mpstat是Multiprocessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中.在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息.mpstat最大的特点是:可以查看多核心cpu中每个计算核心的统计数据:而类似工具vmstat只能查看系统整体cpu情况. 语法 mpstat [-P {|ALL}] [internal [co

10.6 监控io性能 - 10.7 free命令 - 10.8 ps命令 - 10.9 查看网络状态 - 10.10 linux下抓包

- 10.6 监控io性能 - 10.7 free命令 - 10.8 ps命令 - 10.9 查看网络状态 - 10.10 linux下抓包 - 扩展tcp三次握手四次挥手 http://www.doc88.com/p-9913773324388.html  - tshark几个用法:http://www.aminglinux.com/bbs/thread-995-1-1.html  # 10.6 监控io性能 ![mark](http://oqxf7c508.bkt.clouddn.com/b

Linux系统和性能监控之CPU篇

Linux系统和性能监控之CPU篇 性能优化就是找到系统处理中的瓶颈以及去除这些的过程.本文由sanotes.net站长tonnyom在2009年8月翻译自Linux System and Performance Monitoring系列文章.本文是系列的第一篇,讲述CPU方面的性能监控. 作者:tonnyom来源:sanotes.net|2010-12-24 13:25 移动端 收藏 分享 CTO训练营 | 12月3-5日,深圳,是时候成为优秀的技术管理者了 编者注:本文由sanotes.ne

七周二次课(1月23日) 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包

七周二次课(1月23日)10.6 监控io性能10.7 free命令10.8 ps命令10.9 查看网络状态10.10 linux下抓包 =====================================================================================================================================================================================

性能测试三十:监控之CPU、内存、磁盘,命令监控

性能监控是性能测试过程中非常重要的一个环节,当在压测过程中出现性能瓶颈时,需要综合详细的监控数据对问题进行分析.整个系统架构中的每一个环节都需要做监控(压力机.网络.各中间件.各服务器硬件资源等).性能监控做好了,就能帮助你快速的定位问题,找到系统的性能瓶颈. 操作系统级别监控 cpu监控 Top命令: Top命令是Linux下一个实时的.交互式的,对操作系统整体监控的命令,可以对CPU.内存.进程监控. 是Linux下最常用的监控命令. 起一个项目,给点压力,看看效果 一个并发,永远跑,看一下

cpu监控:mpstat命令

mpstat是MultiProcessor Statistics的缩写,是实时系统监控工具.报告CPU的一些统计信息,这些信息存放在/proc/stat文件中.在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息. 语法: mpstat [-P {|ALL}] [internal [count]] 参数:     (1)-P {|ALL}:表示监控哪个CPU,在[0,cpu个数-1]中取值:     (2)internal:相邻的两次采样的间隔时间:     (

linux mpstat命令

mpstat是MultiProcessor Statistics的缩写,是实时系统监控工具.报告CPU的一些统计信息,这些信息存放在/proc/stat文件中.在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息. 语法: mpstat [-P {|ALL}] [internal [count]] 参数:     (1)-P {|ALL}:表示监控哪个CPU,在[0,cpu个数-1]中取值:     (2)internal:相邻的两次采样的间隔时间:     (

Linux企业运维人员最常用150个命令汇总

命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的帮助,比如cd命令. 文件和目录操作命令(18个) ls 全拼list,功能是列出目录的内容及其内容属性信息. cd 全拼change directory,功能是从当前工作目录切换到指定的工作目录. cp 全拼copy,其功能为复制文件或目录. find 查找的意思,用于查找目录及目录下的文件. mkdir 全拼make directories,其功能