Linux系统整体性能监控工具详解.docx
《Linux系统整体性能监控工具详解.docx》由会员分享,可在线阅读,更多相关《Linux系统整体性能监控工具详解.docx(18页珍藏版)》请在冰豆网上搜索。
Linux系统整体性能监控工具详解
Linux系统整体性能监控工具详解
2008-02-2820:
15
Linux中常用的监控CPU整体性能的工具有:
?
mpstat:
mpstat不但能查看所有CPU的平均信息,还能查看指定CPU的信息。
中国网管论坛bbs.bitsCN.com
?
vmstat:
只能查看所有CPU的平均信息;查看cpu队列信息;中国网管论坛bbs.bitsCN.com
?
iostat:
只能查看所有CPU的平均信息。
?
sar:
与mpstat一样,不但能查看CPU的平均信息,还能查看指定CPU的信息。
中国网管联盟www、bitsCN、com
?
top:
显示的信息同ps接近,但是top可以了解到CPU消耗,可以根据用户指定的时间来更新显示。
oprofile:
OProfile是一个低开销的系统全局的性能监视工具。
它使用处理器上的性能监视硬件来检索关于内核以及系统上的可执行文件的信息,例如内存是何时被引用的;L2缓存请求数量;收到的硬件中断数量等中国网管联盟www_bitscn_com
1./proc/stat/
网管网bitsCN.com
包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累计到当前时刻。
网管网bitsCN.com
CODE:
中国网管联盟
[work@builder~]$cat/proc/stat
cpu43266113295866564221459681714742335346
cpu01230752462234941055436941658604615
cpu111191741242385810550382069697123371
cpu210316435542153010552116764032106334
cpu39450431531777210557728521158424
intr106571109410572757799206604035270007002000
000000000000000000000000000000000
00000000000000000000000000000000
000000000000000000000000000000000
00000000000000000000000000000000
000000000000000000000000000000000
00000000000000000000073769580000000
10546020000000300000000000000000000
00
ctxt19067887
btime1139187531
processes270014
procs_running1
procs_blocked0
中国网管联盟www_bitscn_com
输出解释
CPU以及CPU0、CPU1、CPU2、CPU3每行的每个参数意思(以第一行为例)为:
网管联盟www.bitsCN.com
参数解释
user(432661)从系统启动开始累计到当前时刻,用户态的CPU时间(单位:
jiffies),不包含nice值为负进程。
1jiffies=0.01秒中国网管论坛bbs.bitsCN.com
nice(13295)从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间(单位:
jiffies)网管联盟www.bitsCN.com
system(86656)从系统启动开始累计到当前时刻,核心时间(单位:
jiffies)
idle(422145968)从系统启动开始累计到当前时刻,除硬盘IO等待时间以外其它等待时间(单位:
jiffies)
中国网管联盟www_bitscn_com
iowait(171474)从系统启动开始累计到当前时刻,硬盘IO等待时间(单位:
jiffies),
irq(233)从系统启动开始累计到当前时刻,硬中断时间(单位:
jiffies)中国网管联盟
softirq(5346)从系统启动开始累计到当前时刻,软中断时间(单位:
jiffies)中国网管联盟www_bitscn_com
CPU时间=user+system+nice+idle+iowait+irq+softirq网管网bitsCN_com
“intr”这行给出中断的信息,第一个为自系统启动以来,发生的所有的中断的次数;然后每个数对应一个特定的中断自系统启动以来所发生的次数。
“ctxt”给出了自系统启动以来CPU发生的上下文交换的次数。
中国网管联盟
“btime”给出了从系统启动到现在为止的时间,单位为秒。
中国网管联盟www_bitscn_com
“processes(total_forks)自系统启动以来所创建的任务的个数目。
网管网bitsCN.com
“procs_running”:
当前运行队列的任务的数目。
中国网管联盟www_bitscn_com
“procs_blocked”:
当前被阻塞的任务的数目。
Linux系统整体性能监控工具详解(上)
(2)
网管联盟www.bitsCN.com
中国网管联盟www、bitsCN、com
2./proc/loadavg
该文件中的所有值都是从系统启动开始累计到当前时刻。
该文件只给出了所有CPU的集合信息,不能该出每个CPU的信息。
中国网管联盟www_bitscn_com
[root@localhost~]#cat/proc/loadavg
4.614.364.159/845662
网管联盟www.bitsCN.com
每个值的含义为:
中国网管联盟
参数解释网管网bitsCN.com
lavg_1(4.61)1-分钟平均负载网管联盟www.bitsCN.com
lavg_5(4.36)5-分钟平均负载中国网管联盟www、bitsCN、com
lavg_15(4.15)15-分钟平均负载
网管网bitsCN_com
nr_running(9)在采样时刻,运行队列的任务的数目,与/proc/stat的procs_running表示相同意思
中国网管联盟www、bitsCN、com
nr_threads(84)在采样时刻,系统中活跃的任务的个数(不包括运行已经结束的任务)
中国网管联盟
last_pid(5662)最大的pid值,包括轻量级进程,即线程。
网管网bitsCN.com
假设当前有两个CPU,则每个CPU的当前任务数为4.61/2=2.31
3.uptime
中国网管联盟www、bitsCN、com
uptime是Linux系统常用的命令,用来报告系统已经运行多长时间,依此显示的信息:
现在时间,系统已经运行了的时间,目前有多少登陆用户,1分钟系统平均负载,5分钟系统平均负载,15分钟系统平均负载。
该命令从/proc/loadavg中获得loadaverage的信息。
范例1:
系统只用一个CPU网管联盟www.bitsCN.com
[root@localhost~]#uptime
12:
20:
49up3days,9:
20,5users,loadaverage1.101.321.15
中国网管联盟
对于一个CPU的系统来说,范例1中的平均负载高了些。
通常来说:
如果系统有n个CPU而且平均负载小于n,则说明某些CPU还有空闲的时间片。
通过该命令,你能知道CPU是否繁忙,但是无法知道为什么忙。
4.mpstat
网管网bitsCN_com
mpstat是MultiprocessorStatistics的缩写,是实时系统监控工具。
其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。
在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。
下面只介绍mpstat与CPU相关的参数,mpstat的语法如下:
中国网管联盟www、bitsCN、com
mpstat[-P{|ALL}][internal[count]]网管联盟www.bitsCN.com
参数的含义如下:
中国网管联盟www_bitscn_com
参数解释
中国网管联盟www、bitsCN、com
-P{|ALL}表示监控哪个CPU,cpu在[0,cpu个数-1]中取值
中国网管联盟www、bitsCN、com
internal相邻的两次采样的间隔时间
网管网bitsCN_com
count采样的次数,count只能和delay一起使用中国网管联盟www_bitscn_com
当没有参数时,mpstat则显示系统启动以后所有信息的平均值。
有interval时,第一行的信息自系统启动以来的平均信息。
从第二行开始,输出为前一个interval时间段的平均信息。
与CPU有关的输出的含义如下:
网管网bitsCN.com
参数解释从/proc/stat获得数据
中国网管联盟www、bitsCN、com
CPU处理器ID
中国网管联盟www_bitscn_com
user在internal时间段里,用户态的CPU时间(%),不包含nice值为负进程?
usr/?
total*100
中国网管联盟
nice在internal时间段里,nice值为负进程的CPU时间(%)?
nice/?
total*100
网管网bitsCN_com
system在internal时间段里,核心时间(%)?
system/?
total*100
iowait在internal时间段里,硬盘IO等待时间(%)?
iowait/?
total*100网管网bitsCN_com
irq在internal时间段里,软中断时间(%)?
irq/?
total*100网管网bitsCN_com
soft在internal时间段里,软中断时间(%)?
softirq/?
total*100
中国网管联盟
idle在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%)?
idle/?
total*100网管网bitsCN_com
intr/s在internal时间段里,每秒CPU接收的中断的次数?
intr/?
total*100
CPU总的工作时间=total_cur=user+system+nice+idle+iowait+irq+softirq
total_pre=pre_user+pre_system+pre_nice+pre_idle+pre_iowait+pre_irq+pre_softirq
网管网bitsCN_com
?
user=user_cur–user_pre
?
total=total_cur-total_pre网管联盟www.bitsCN.com
其中_cur表示当前值,_pre表示interval时间前的值。
上表中的所有值可取到两位小数点。
网管联盟www.bitsCN.com
范例1:
averagemode(粗略信息)中国网管论坛bbs.bitsCN.com
当mpstat不带参数时,输出为从系统启动以来的平均值。
中国网管联盟
CODE:
网管联盟www.bitsCN.com
[work@builderlinux-2.6.14]$mpstat
Linux2.6.9-5.31AXsmp(builder.redflag-)12/16/2005
09:
38:
46AMCPU%user%nice%system%iowait%irq%soft%idleintr/s
09:
38:
48AMall23.280.001.750.500.000.0074.471018.59
范例2:
每2秒产生了4个处理器的统计数据报告
中国网管联盟www、bitsCN、com
下面的命令可以每2秒产生了4个处理器的统计数据报告,一共产生三个interval的信息,然后再给出这三个interval的平均信息。
默认时,输出是按照CPU号排序。
第一个行给出了从系统引导以来的所有活跃数据。
接下来每行对应一个处理器的活跃状态。
。
网管网bitsCN_com
CODE:
网管网bitsCN.com
[work@builderlinux-2.6.14]$mpstat-PALL23
Linux2.6.9-5.31AXsmp(builder.redflag-)12/16/2005
09:
38:
46AMCPU%user%nice%system%iowait%irq%soft%idleintr/s
09:
38:
48AMall23.280.001.750.500.000.0074.471018.59
09:
38:
48AM02.010.001.010.500.000.0096.485.03
09:
38:
48AM151.260.003.021.010.000.0044.727.04
09:
38:
48AM217.090.002.010.500.000.0081.410.00
09:
38:
48AM322.610.001.010.000.000.0076.381006.03
09:
38:
48AMCPU%user%nice%system%iowait%irq%soft%idleintr/s
09:
38:
50AMall24.220.001.251.250.000.0073.281049.75
09:
38:
50AM01.000.001.000.000.000.0098.0128.86
09:
38:
50AM193.030.003.480.000.000.002.9925.37
09:
38:
50AM21.990.000.504.980.000.0092.540.00
09:
38:
50AM31.000.000.500.000.000.0098.51995.52
09:
38:
50AMCPU%user%nice%system%iowait%irq%soft%idleintr/s
09:
38:
52AMall23.690.002.370.370.000.1273.441028.36
09:
38:
52AM02.990.001.490.000.000.5095.02111.94
中国网管联盟www、bitsCN、com
09:
38:
52AM152.740.002.991.000.000.0042.294.48
09:
38:
52AM214.930.001.990.000.000.0082.094.48
09:
38:
52AM323.380.001.990.500.000.0073.13907.46
Average:
CPU%user%nice%system%iowait%irq%soft%idleintr/s
Average:
all23.730.001.790.710.000.0473.731032.28
Average:
02.000.001.160.170.000.1796.5148.75
Average:
165.720.003.160.670.000.0029.9512.31
Average:
211.310.001.501.830.000.0085.361.50
Average:
315.640.001.160.170.000.0082.70969.55
[work@builderlinux-2.6.14]$
网管联盟www.bitsCN.com
范例3:
比较带参数和不带参数的mpstat的结果。
中国网管联盟www、bitsCN、com
在后台开一个2G的文件中国网管联盟www、bitsCN、com
>cat1.img—/*1.img=2GBytes
然后在另一个终端运行mpstat命令
CODE:
网管联盟www.bitsCN.com
[root@localhost~]#mpstat
Linux2.6.13(localhost.localdomain)2005年12月15日
13时48分52秒CPU%user%nice%system%iowait%irq%soft%idleintr/s
13时48分52秒all1.570.000.240.150.120.0197.92308.12
[root@localhost~]#mpstat
Linux2.6.13(localhost.localdomain)2005年12月15日
13时48分53秒CPU%user%nice%system%iowait%irq%soft%idleintr/s
13时48分53秒all1.570.000.240.150.120.0197.92308.12
[root@localhost~]#mpstat
Linux2.6.13(localhost.localdomain)2005年12月15日
13时48分53秒CPU%user%nice%system%iowait%irq%soft%idleintr/s
13时48分53秒all1.570.000.240.150.120.0197.92308.12
[root@localhost~]#mpstat
Linux2.6.13(localhost.localdomain)2005年12月15日
13时48分54秒CPU%user%nice%system%iowait%irq%soft%idleintr/s
13时48分54秒all1.570.000.240.150.120.0197.92308.12
[root@localhost~]#
然后再运行命令:
mpstat3100/*每隔3秒给出一次信息,共给出100次*/
[root@localhost~]#mpstat3100
Linux2.6.13(localhost.localdomain)2005年12月15日中国网管联盟www_bitscn_com
13时48分25秒CPU%user%nice%system%iowait%irq%soft%idleintr/s
13时48分28秒all96.000.004.000.000.000.000.00401.67
13时48分31秒all96.010.003.650.000.330.000.00393.36
13时48分34秒all95.360.004.300.000.330.000.00532.45
13时48分37秒all94.000.005.670.000.330.000.00400.33
13时48分40秒all95.000.005.000.000.000.000.00330.33
13时48分43秒all95.330.004.330.000.330.000.00337.33
13时48分46秒all94.680.004.980.000.330.000.00329.57
13时48分49秒all95.670.004.000.000.330.000.00417.33
13时48分52秒all95.670.003.670.000.670.000.00448.00
13时48分55秒all94.020.005.320.000.330.330.00410.96
13时48分58秒all95.350.004.320.000.330.000.00466.45
[root@localhost~]#
上两表显示出当要正确反映系统的情况,需要正确使用命令的参数。
vmstat和iostat也需要注意这一问题。
中国网管联盟www_bitscn_com
Linux系统整体性能监控工具详解(上)(3)
【源码·文档下载】
网管网bitsCN.com
5.vmstat
网管联盟www.bitsCN.com
vmstat是VirtualMeomoryStatistics(虚拟内存统计)的缩写,是实时系统监控工具。
该命令通过使用knlist子程序和/dev/kmen伪设备驱动器访问这些数据,输出信息直接打印在屏幕。
vmstat反馈的与CPU相关的信息包括:
(1)多少任务在运行
中国网管论坛bbs.bitsCN.com
(2)CPU使用的情况中国网管论坛bbs.bitsCN.com
(3)CPU收到多少中断中国网管联盟
(4)发生多少上下文切换
中国网管联盟www_bitscn_com
下面只介绍Vmstat与CPU相关的参数网管联盟www.bitsCN.com
vmstat的语法如下:
中国网管联盟www_bitscn_com