Linux监控工具vmstat的使用
上一篇 / 下一篇 2012-11-16 10:07:29 / 个人分类:Linux
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
rJ2Q1LVfg0 分页(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 nSg1、用法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(Bvmstat [-s] [-n] [-S unit]51Testing软件测试网A lf;Vm/w
'Knd1t#K5D_0 vmstat [-m] [-n] [delay [ count]]
x-f\5C6lM7Q0WL+A051Testing软件测试网 {&k9IPJ D,eqX0?2J5yvmstat [-d] [-n] [delay [ count]]
UfKrI}0T8@~jps2[*@.e0 vmstat [-p disk partition] [-n] [delay [ count]]
{LO:g V5~QL051Testing软件测试网i+Ul F9O)n0Hz#D"Juvmstat [-f]
^R_MGB#P051Testing软件测试网} HG&g3`vmstat [-V]51Testing软件测试网D(dH4m5P4]%x+d H
51Testing软件测试网!z+le0V#W(nJ-a:显示活跃和非活跃内存
1}`*j6PO1p0-A-bo@5tA;n)S8t0 -f:显示从系统启动至今的fork数量 .
(N?4|(uf5d4H:}h0'FW I5_e~E5pyUA0 -m:显示slabinfo
9s \SeHbI\08W-J&^J)r/Bfj0 -n:只在开始时显示一次各字段名称。51Testing软件测试网r0u#Jc C/N0t T!A
!HE3V5n,XV#|0 -s:显示内存相关统计信息及多种系统活动数量。
pr.z}7sNV!P9d5Ac051Testing软件测试网%k%|;Ndl l'g_3F.L3Sdelay:刷新时间间隔。如果不指定,只显示一条结果。
:f+V_X*r V2K,t5st051Testing软件测试网9QNW0LVcount:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。
&?uWbHMy3yfy01V$k^*UP0 -d:显示磁盘相关统计信息。51Testing软件测试网\g(D2a1i'F-};K
51Testing软件测试网.f*l:m;SJ?RA-p:显示指定磁盘分区统计信息
sjF DT051Testing软件测试网;bH)T8d+F Qrik-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
m1]1b X/e6W[(dy(w051Testing软件测试网z+n4R!_1ARZd|j-V:显示vmstat版本信息。
4oT+M B?+?051Testing软件测试网+MTXf\X5K2、使用说明51Testing软件测试网:Y1F.r Ppq,Iv0c
^A(aSO]*h3d.Q C0 例子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~0b:等待IO的进程数量51Testing软件测试网%?!A"xq"^"E)K2@Ic*~
Memory(内存):
8hJV&h!K r0swpd:使用虚拟内存大小51Testing软件测试网a#g5g:y$W2KB?:Z
free:可用内存大小
]:T+}3pe0buff:用作缓冲的内存大小51Testing软件测试网!MqwS8P^
cache:用作缓存的内存大小
YiM/_[]&uW0$^m1h;iRp%iCa0 Swap:51Testing软件测试网?!xSx"@H
51Testing软件测试网*Z-y1V/A!hz6A]si:每秒从交换区写到内存的大小
-|Y8\ v2YN~0L:I6eJ*n+Fh0 so:每秒写入交换区的内存大小51Testing软件测试网`2|1W,\V!_;Bwr
@6f x*Mo(]U{?)X0 IO:(现在的Linux版本块的大小为1024bytes)
*U!J@h#w(}!\2o051Testing软件测试网E^v$xK$pbi:每秒读取的块数51Testing软件测试网/sd B||j5d&G