Linux监控工具vmstat的使用

上一篇 / 下一篇  2012-11-16 10:07:29 / 个人分类:Linux

51Testing软件测试网;d&u!x6gs/x7OL,T

  vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具,使用vmstat命令可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。本文介绍了虚拟内存的运行原理,继而介绍了vmstat的用法和使用范例。

5s"A]g3Kcr,E%J051Testing软件测试网+P1j)K6?_2R k|

  一、虚拟内存运行原理51Testing软件测试网.S,udSYM&?$D

9g `3g m+B|(Q0   在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。当系统运行所需内存超过实际的物理内存,内核会释放某 些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供给有需要的进程使用。

-If3| Pe.c6~F4E0

&A@aZX?(o0  在Linux内存管理中,主要是通过“调页Paging”和“交换Swapping”来完成上述的内存调度。调页算法是将内存中最近不常使用的页面换到磁盘上,把活动页面保留在内存中供进程使用。交换技术是将整个进程,而不是部分页面,全部交换到磁盘上。51Testing软件测试网^f X|U1PT_Cg3J

rJ2Q1LV fg0  分页(Page)写入磁盘的过程被称作Page-Out,分页(Page)从磁盘重新回到内存的过程被称作Page-In.当内核需要一个分页时,但发现此分页不在物理内存中(因为已经被Page-Out了),此时就发生了分页错误(Page Fault)。51Testing软件测试网y E6F5e*?8dn

51Testing软件测试网 fZSRi&Bq1c#|a

   当系统内核发现可运行内存变少时,就会通过Page-Out来释放一部分物理内存。经管Page-Out不是经常发生,但是如果Page-out频繁不 断的发生,直到当内核管理分页的时间超过运行程式的时间时,系统效能会急剧下降。这时的系统已经运行非常慢或进入暂停状态,这种状态亦被称作 thrashing(颠簸)。

;`)K.\)[#e s*Z0

%khJ4f MU0  二、使用vmstat51Testing软件测试网(wI.]2@f\C5swg^

51Testing软件测试网&~Y*iP6E X nSg

  1、用法51Testing软件测试网c!c-M xv*`

#J7m? t~]9n-j7vBv0  vmstat [-a] [-n] [-S unit] [delay [ count]]51Testing软件测试网f"U(i N2eL

51Testing软件测试网4o"_A\0vE(B

  vmstat [-s] [-n] [-S unit]51Testing软件测试网A lf;Vm/w

'Knd1t#K5D_0  vmstat [-m] [-n] [delay [ count]]

x-f\5C6lM7Q0WL+A051Testing软件测试网{&k9IPJ D,eqX0?2J5y

  vmstat [-d] [-n] [delay [ count]]

UfKrI}0

T8@~ jps2[*@.e0  vmstat [-p disk partition] [-n] [delay [ count]]

{LO:g V5~QL051Testing软件测试网i+Ul F9O)n0Hz#D"Ju

  vmstat [-f]

^R_MG B#P051Testing软件测试网} HG&g3`

  vmstat [-V]51Testing软件测试网 D(dH4m5P4]%x+d H

51Testing软件测试网!z+le0V#W(nJ

  -a:显示活跃和非活跃内存

1}`*j6PO1p0

-A-bo@5t A;n)S8t0  -f:显示从系统启动至今的fork数量 .

(N?4|(uf5d4H:}h0

'FW I5_e~E5pyUA0  -m:显示slabinfo

9s \S eHbI\0

8W-J&^J)r/Bfj0  -n:只在开始时显示一次各字段名称。51Testing软件测试网 r0u#Jc C/N0t T!A

!HE3V5n,X V#|0  -s:显示内存相关统计信息及多种系统活动数量。

pr.z}7sNV!P9d5Ac051Testing软件测试网%k%|;Ndl l'g_3F.L3S

  delay:刷新时间间隔。如果不指定,只显示一条结果。

:f+V_X*r V2K,t5st051Testing软件测试网9QNW0LV

  count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。

&?uWbHMy3yfy0

1V$k^*UP0  -d:显示磁盘相关统计信息。51Testing软件测试网\g(D2a1i'F-};K

51Testing软件测试网.f*l:m;SJ?R A

  -p:显示指定磁盘分区统计信息

sjF DT051Testing软件测试网;bH)T8d+F Qrik

  -S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)

m1]1bX/e6W[(dy(w051Testing软件测试网z+n4R!_1ARZd|j

  -V:显示vmstat版本信息。

4oT+M B?+?051Testing软件测试网+MTXf\X5K

  2、使用说明51Testing软件测试网:Y1F.r Ppq,Iv0c

^A(a S O]*h3d.QC0  例子1:每2秒输出一条结果51Testing软件测试网#Y.v5Uv(J L)U*m

(r^*pEJQi0

  字段说明:51Testing软件测试网Y:G6{^T"XC

  Procs(进程):51Testing软件测试网^R Q? hq dl8X

  r:运行队列中进程数量

J3Gh o9~y~0

  b:等待IO的进程数量51Testing软件测试网%?!A"xq"^"E)K2@Ic*~

  Memory(内存):

8hJ V&h!Kr0

  swpd:使用虚拟内存大小51Testing软件测试网a#g5g:y$W2KB?:Z

  free:可用内存大小

]:T+}3pe0

  buff:用作缓冲的内存大小51Testing软件测试网!MqwS8P^

  cache:用作缓存的内存大小

Y iM/_[]&uW0

$^m1h;i Rp%iCa0  Swap:51Testing软件测试网?!xSx"@H

51Testing软件测试网*Z-y1V/A!hz6A]

  si:每秒从交换区写到内存的大小

-|Y8\v2YN~0

L:I6eJ*n+Fh0  so:每秒写入交换区的内存大小51Testing软件测试网`2|1W,\V!_;Bw r

@6f x*Mo(]U{?)X0  IO:(现在的Linux版本块的大小为1024bytes)

*U!J@h#w(}!\2o051Testing软件测试网E^v$xK$p

  bi:每秒读取的块数51Testing软件测试网/sd B||j5d&GZ

*O,Y(R}*O c._0  bo:每秒写入的块数51Testing软件测试网AF3Tw}1U3~#v?8_

51Testing软件测试网 uD)s/B t6hG:G

  系统:

'`6j$Qb']1`$l,`{0

:M _^ Lz0  in:每秒中断数,包括时钟中断。51Testing软件测试网{\yS)vmHm#e

51Testing软件测试网CRH8Kdfr+Hj}}

  cs:每秒上下文切换数。

a*@5p o9P3{j051Testing软件测试网Cwgw dnT

  CPU(以百分比表示):

)Ff uDy5H8\0

)Oyq1w2J'{0  us:用户进程执行时间(user time)

^2y{7N/L1wf _051Testing软件测试网"t|m*Kh'?S.|L)X

  sy:系统进程执行时间(system time)51Testing软件测试网 q8k'zGRP

e`"~ q)~c+K0  id:空闲时间(包括IO等待时间)51Testing软件测试网FH2?bs a;Z?u

.t\4}$\'Z A A&Y"h0  wa:等待IO时间

\2\3W*|(kf0

i X[qP7pd0  例子2:显示活跃和非活跃内存51Testing软件测试网u$l's/]p6R I*B(y O

51Testing软件测试网%S!^,UcB/@f

  使用-a选项显示活跃和非活跃内存时,所显示的内容除增加inact和active外,其他显示内容与例子1相同。

'z4v%v7ei0

  字段说明:51Testing软件测试网 F+{1N;w a@1q

  Memory(内存):51Testing软件测试网:eKD)gS VF\

  inact:非活跃内存大小(当使用-a选项时显示)51Testing软件测试网 E }ANUyV?

  active:活跃的内存大小(当使用-a选项时显示)

"Vm6Q.h+qm0

TAG:

 

评分:0

我来说两句

Open Toolbar