网络安全 频道

Linux系统整体性能监控工具详解

soft 在internal时间段里,软中断时间(%) softirq/total*100

idle 在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间 (%) idle/total*100

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

user=user_cur – user_pre

total=total_cur-total_pre

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

范例1:average mode (粗略信息)

当mpstat不带参数时,输出为从系统启动以来的平均值。

CODE:

[work@builder linux-2.6.14]$ mpstat 
Linux 2.6.9-5.31AXsmp (builder.redflag-linux.com) 12/16/2005
09:38:46 AM CPU %user %nice %system %iowait %irq %soft %idle intr/s
09:38:48 AM all 23.28 0.00 1.75 0.50 0.00 0.00 74.47 1018.59

范例2: 每2秒产生了4个处理器的统计数据报告

下面的命令可以每2秒产生了4个处理器的统计数据报告,一共产生三个interval 的信息,然后再给出这三个interval的平均信息。默认时,输出是按照CPU 号排序。第一个行给出了从系统引导以来的所有活跃数据。接下来每行对应一个处理器的活跃状态。。

CODE:

[work@builder linux-2.6.14]$ mpstat -P ALL 2 3
Linux 2.6.9-5.31AXsmp (builder.redflag-linux.com) 12/16/2005
09:38:46 AM CPU %user %nice %system %iowait %irq %soft %idle intr/s
09:38:48 AM all 23.28 0.00 1.75 0.50 0.00 0.00 74.47 1018.59
09:38:48 AM 0 2.01 0.00 1.01 0.50 0.00 0.00 96.48 5.03
09:38:48 AM 1 51.26 0.00 3.02 1.01 0.00 0.00 44.72 7.04
09:38:48 AM 2 17.09 0.00 2.01 0.50 0.00 0.00 81.41 0.00
09:38:48 AM 3 22.61 0.00 1.01 0.00 0.00 0.00 76.38 1006.03
09:38:48 AM CPU %user %nice %system %iowait %irq %soft %idle intr/s
09:38:50 AM all 24.22 0.00 1.25 1.25 0.00 0.00 73.28 1049.75
09:38:50 AM 0 1.00 0.00 1.00 0.00 0.00 0.00 98.01 28.86
09:38:50 AM 1 93.03 0.00 3.48 0.00 0.00 0.00 2.99 25.37
09:38:50 AM 2 1.99 0.00 0.50 4.98 0.00 0.00 92.54 0.00
09:38:50 AM 3 1.00 0.00 0.50 0.00 0.00 0.00 98.51 995.52
09:38:50 AM CPU %user %nice %system %iowait %irq %soft %idle intr/s
09:38:52 AM all 23.69 0.00 2.37 0.37 0.00 0.12 73.44 1028.36
09:38:52 AM 0 2.99 0.00 1.49 0.00 0.00 0.50 95.02 111.94
09:38:52 AM 1 52.74 0.00 2.99 1.00 0.00 0.00 42.29 4.48
09:38:52 AM 2 14.93 0.00 1.99 0.00 0.00 0.00 82.09 4.48
09:38:52 AM 3 23.38 0.00 1.99 0.50 0.00 0.00 73.13 907.46
Average: CPU %user %nice %system %iowait %irq %soft %idle intr/s
Average: all 23.73 0.00 1.79 0.71 0.00 0.04 73.73 1032.28
Average: 0 2.00 0.00 1.16 0.17 0.00 0.17 96.51 48.75
Average: 1 65.72 0.00 3.16 0.67 0.00 0.00 29.95 12.31
Average: 2 11.31 0.00 1.50 1.83 0.00 0.00 85.36 1.50
Average: 3 15.64 0.00 1.16 0.17 0.00 0.00 82.70 969.55
[work@builder linux-2.6.14]$

范例3:比较带参数和不带参数的mpstat的结果。

在后台开一个2G的文件

> cat 1.img —/* 1.img=2GBytes

然后在另一个终端运行mpstat命令

CODE:

[root@localhost ~]# mpstat
Linux 2.6.13 (localhost.localdomain) 2005年12月15日
13时48分52秒 CPU %user %nice %system %iowait %irq %soft %idle intr/s
13时48分52秒 all 1.57 0.00 0.24 0.15 0.12 0.01 97.92 308.12
[root@localhost ~]# mpstat
Linux 2.6.13 (localhost.localdomain) 2005年12月15日
13时48分53秒 CPU %user %nice %system %iowait %irq %soft %idle intr/s
13时48分53秒 all 1.57 0.00 0.24 0.15 0.12 0.01 97.92 308.12
[root@localhost ~]# mpstat
Linux 2.6.13 (localhost.localdomain) 2005年12月15日
13时48分53秒 CPU %user %nice %system %iowait %irq %soft %idle intr/s
13时48分53秒 all 1.57 0.00 0.24 0.15 0.12 0.01 97.92 308.12
[root@localhost ~]# mpstat
Linux 2.6.13 (localhost.localdomain) 2005年12月15日
13时48分54秒 CPU %user %nice %system %iowait %irq %soft %idle intr/s
13时48分54秒 all 1.57 0.00 0.24 0.15 0.12 0.01 97.92 308.12
[root@localhost ~]#
然后再运行命令:mpstat 3 100 /*每隔3秒给出一次信息,共给出100次*/
[root@localhost ~]# mpstat 3 100
Linux 2.6.13 (localhost.localdomain) 2005年12月15日
13时48分25秒 CPU %user %nice %system %iowait %irq %soft %idle intr/s
13时48分28秒 all 96.00 0.00 4.00 0.00 0.00 0.00 0.00 401.67
13时48分31秒 all 96.01 0.00 3.65 0.00 0.33 0.00 0.00 393.36
13时48分34秒 all 95.36 0.00 4.30 0.00 0.33 0.00 0.00 532.45
13时48分37秒 all 94.00 0.00 5.67 0.00 0.33 0.00 0.00 400.33
13时48分40秒 all 95.00 0.00 5.00 0.00 0.00 0.00 0.00 330.33
13时48分43秒 all 95.33 0.00 4.33 0.00 0.33 0.00 0.00 337.33
13时48分46秒 all 94.68 0.00 4.98 0.00 0.33 0.00 0.00 329.57
13时48分49秒 all 95.67 0.00 4.00 0.00 0.33 0.00 0.00 417.33
13时48分52秒 all 95.67 0.00 3.67 0.00 0.67 0.00 0.00 448.00
13时48分55秒 all 94.02 0.00 5.32 0.00 0.33 0.33 0.00 410.96
13时48分58秒 all 95.35 0.00 4.32 0.00 0.33 0.00 0.00 466.45
[root@localhost ~]#

上两表显示出当要正确反映系统的情况,需要正确使用命令的参数。vmstat 和iostat 也需要注意这一问题。

5. vmstat

vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写, 是实时系统监控工具。该命令通过使用knlist子程序和/dev/kmen伪设备驱动器访问这些数据,输出信息直接打印在屏幕。vmstat反馈的与CPU相关的信息包括:

(1)多少任务在运行

(2)CPU使用的情况

(3)CPU收到多少中断

(4)发生多少上下文切换

下面只介绍 Vmstat与CPU相关的参数

vmstat的语法如下:

  vmstat [delay [count]]

参数的含义如下:

参数 解释

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

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

0
相关文章