码迷,mamicode.com
首页 > 其他好文 > 详细

监控CPU(二)

时间:2016-08-17 23:15:02      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:cpu   top   sar   mpstat   

常见的监控CPU的工具基本的就是top mpstat sar vmstat(上下文切换/CPU数目是否够)。再有就是去看/proc/里边的文件信息了,因为里边记录系统运行时刻的东西,牛叉的就是nmon AIX的监控工具。

sar使用请参照:http://www.chinaz.com/server/2013/0401/297942.shtml

top

top - 10:30:11 up 46 min,  3 users,  load average: 0.10, 1.00, 1.00
Tasks:122 total, 1 running,120 sleeping,0 stopped,1 zombie
Cpus:0.7%us,0.7%sy,0.0%ni,97.6%id,0.0%wa,0.7%hi,0.3%si,0.0%st 
Mem:1035244k total,537528k used,497716k free,25816k buffers
Swap:0k total,0k used,0k free,351392k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                       
  489 root      20   0     0    0    0 S  0.3  0.0   0:03.88 vmmemctl                      
 1385 root      20   0 12780 3596 2748 S  0.3  0.3   0:00.22 sshd                          
 1423 root      20   0  2568 1088  876 R  0.3  0.1   0:00.01 top


输出信息     说明

10:30:11     当前时间
up 46 min     系统运行时间
3 users     当前登录用户数,这里是jzhou和root
load average:0.10, 1.00, 1.00     系统负载,即任务队列的平均长度。三个数值分别为1分钟、5分钟、15分钟前到现在的平均值,即0.02,0.14,0.21
Tasks:122 total, 1 running,120 sleeping,0 stopped,1 zombie     122个进程(任务),其中有2个处于运行状态,120个处于睡眠状态,没有停止的进程,有1个僵尸进程
Cpus:0.7%us,0.7%sy,0.0%ni,97.6%id,0.0%wa,0.7%hi,0.3%si,0.0%st     Cpu运行状态,用户进程(user)占用CPU的0.7%,系统进程(system)占用CPU的0.7%,用户进程没有改变过优先级的进程,所以user nice值为0.0%,97.6%的CPU处于空闲状态(idle),没有等待的输入输出,所以iowait的值也为0.0%,硬件请求终端时间(hardware interrupt)占CPU的0.7%,软终端请求时间占CPU的0.3%,st代表steal time,具体作用不是很清楚,网上说是为其它CPU预留的,不清楚
Mem:1035244k total,537528k used,497716k free,25816k buffers     内存总量为1035244k,已使用的内存总量为537528k,497716k为空闲内存总量,25816k用作内核缓存的内存总量。(这是虚拟机的情况,物理机好像还有其它参数)
Swap:0k total,0k used,0k free,351392k cached     交换分区总量为0k,使用的交换分区总量为0k,空闲交换分区总量为0k,351392k为缓冲的交换区总量(cached)、内存中的内容被患处到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。

然后看看详细信息部分输出的信息的内容:
输出信息     说明

PID     进程标识符
USER     进程所有者用户名
PR/PRI     进程执行的优先级
NI     NICE值,负值表示高优先级,正值表示低优先级
VIRT     进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES     进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR     共享内存大小,单位kb
S/STAT     进程状态
                D:不可中断的睡眠状态
                R:正在运行,或在队列中的进程
                S:处于休眠状态
                T:停止或被追踪
                Z:僵尸进程
                W:进入内存交换
                X:死掉的进程
%CPU     上次更新到现在的CPU时间占用百分比
%MEN     进程使用的物理内存百分比
TIME+     进程使用的CPU时间总计,单位1/100s
COMMAND     进程被执行的命令名称

系统平均负载loadavg输出可以理解为每秒钟CPU等待运行的进程个数
系统平均负载被定义为在特定时间间隔内运行队列中的平均任务数。如果一个进程满足以下条件则其就会位于运行队列中:
  - 它没有在等待I/O操作的结果
  - 它没有主动进入等待状态(也就是没有调用‘wait‘)
  - 没有被停止(例如:等待终止)
  例如:
# uptime
  20:55:40 up 24 days,  3:06,  1 user,  load average: 8.13, 5.90, 4.94

sysstat的安装包是:sysstat-5.0.5-1.i386.rpm,装完了sysstat-5.0.5-1.i386.rpm
后 就会有iostat、mpstat、sar、sa的功能,sysstat-5.0.5-1.i386.rpm

使用yum,如何安装iostat
sysstat 使用yum安装

#yum install sysstat

启动sysstat

#/etc/init.d/sysstat start

设置sysstat自启动

#checkfig sysstat on

MPSTAT
MPSTAT -P ALL 2 3
[root@localhost proc]# mpstat  -P ALL
Linux 2.6.32-431.el6.i686 (localhost.localdomain)       08/12/2016      _i686_  (1 CPU)

10:39:57 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
10:39:57 AM  all    0.15    0.00    0.42    0.43    0.03    0.12    0.00    0.00   98.84
10:39:57 AM    0    0.15    0.00    0.42    0.43    0.03    0.12    0.00    0.00   98.84
[root@localhost proc]#

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

mpstat -V  显示mpstat版本信息
mpstat -P ALL 显示所有CPU信息
mpstat -P n 显示第n个cup信息,n为数字,计数从0开始 
mpstat n m  每个n秒显示一次cpu信息,连续显示m次,最后显示一个平均值
mpstat n    每个n秒显示一次cpu信息,连续显示下去
-P {|ALL} 表示监控哪个CPU, cpu在[0,cpu个数-1]中取值
internal 相邻的两次采样的间隔时间
count 采样的次数,count只能和delay一起使用

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

user 在internal时间段里,用户态的CPU时间(%) ,不包含 nice值为负 进程 ?usr/?total*100
nice 在internal时间段里,nice值为负进程的CPU时间(%) ?nice/?total*100
system 在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
intr/s 在internal时间段里,每秒CPU接收的中断的次数 ?intr/?total*100



监控CPU(二)

标签:cpu   top   sar   mpstat   

原文地址:http://aklaus.blog.51cto.com/9724632/1839695

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!