查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

时间:2023-01-10 04:35:42

一、衡量CPU性能的指标: 

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

 

二、Linux中常用的监控CPU整体性能的工具有: 

 mpstat: mpstat 不但能查看所有CPU的平均信息,还能查看指定CPU的信息。 

 vmstat:只能查看所有CPU的平均信息;查看cpu队列信息; 

iostat: 只能查看所有CPU的平均信息。 

 sar: 与mpstat 一样,不但能查看CPU的平均信息,还能查看指定CPU的信息。 

 top:显示的信息同ps接近,但是top可以了解到CPU消耗,可以根据用户指定的时间来更新显示。 

下面一一介绍

1.vmstat 

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

1.)查看所有CPU的平均信息;查看cpu队列信息; 每3秒刷新一次

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

(2.)查看所有CPU的平均信息;查看cpu队列信息; 每3秒刷新一次,一共刷新五次

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

 

 

相关内容解释:

PROC(ESSES) 

--r:如果在processes中运行的序列(process r)是连续的大于在系统中的CPU的个数表示系统现在运行比较慢,有多数的进程等待CPU. 
如果r的输出数大于系统中可用CPU个数的4倍的话,则系统面临着CPU短缺的问题,或者是CPU的速率过低,系统中有多数的进程在等待CPU,造成系统中进程运行过慢. 
SYSTEM 
--in:每秒产生的中断次数 
--cs:每秒产生的上下文切换次数 
上面2个值越大,会看到由内核消耗的CPU时间会越大 

CPU 
-us:用户进程消耗的CPU时间百分 
us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速(比如PHP/PERL) 
-sy:内核进程消耗的CPU时间百分比(sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因) 
-wa:IO等待消耗的CPU时间百分比 
wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。 
-id:CPU处于空闲状态时间百分比,如果空闲时间(cpu id)持续为0并且系统时间(cpu sy)是用户时间的两倍(cpu us) 系统则面临着CPU资源的短缺. 

解决办法: 

当发生以上问题的时候请先调整应用程序对CPU的占用情况.使得应用程序能够更有效的使用CPU.同时可以考虑增加更多的CPU.  关于CPU的使用情况还可以结合mpstat,  ps aux top  prstat –a等等一些相应的命令来综合考虑关于具体的CPU的使用情况,和那些进程在占用大量的CPU时间.一般情况下,应用程序的问题会比较大一些.比如一些SQL语句不合理等等都会造成这样的现象. 

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

 

 

2.sar 
sar [options] [-A] [-o file] t [n] 

在命令行中,n 和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有 
的参数,n为采样次数,是可选的,默认值是1,-o file表示将命令结果以二进制格式 
存放在文件中,file 在此处不是关键字,是文件名。options 为命令行选项,sar命令 

的选项很多,下面只列出常用选项: 

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

 

(1.)用sar进行CPU利用率的分析 

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

 

(2.)用sar进行运行进程队列长度分析: 

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

 

相关内容解释:

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

 

3.iostat 

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

 

4.mpstat 

mpstat 是Multiprocessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。下面只介绍 mpstat与CPU相关的参数,mpstat的语法如下: 

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

 

CPU 处理器ID 

其中_cur 表示当前值,_pre表示interval时间前的值。上表中的所有值可取到两位小数点。

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

参数的含义如下: 

参数 解释 

-P {|ALL} 表示监控哪个CPU, cpu在[0,cpu个数-1]中取值 

internal 相邻的两次采样的间隔时间 

count 采样的次数,count只能和delay一起使用 

当没有参数时,mpstat则显示系统启动以后所有信息的平均值。有interval时,第一行的信息自系统启动以来的平均信息。从第二行开始,输出为前一个interval时间段的平均信息。与CPU有关的输出的含义如下: 

参数 解释 从/proc/stat获得数据 

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

 

5. top

命令说明
Top 命令能够实时监系统的运行状态,并且可以按照cpu、内存和执行时间进行排序

参数说明
命令行启动参数:
用法: top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...]

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

6. free
  命令说明
Free命令是监控系统内存最常用的命令
.参数说明

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

7.Procs、Memory

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解

8.Cpu资源监控

查看CPU性能参数(mpstat, iostat, sar、vmstat)等命令详解