Vmstat与iostat zz

上一篇 / 下一篇  2008-06-06 20:10:51 / 个人分类:LAMP

Linux在具有高稳定性、可靠性的同时,具有很好的可伸缩性和扩展性,能够针对不同的应用和硬件环境调整,优化出满足当前应用需要的最佳性能。因此企业在维护Linux系统、进行系统调优时,了解系统性能分析工具是至关重要的。木铎校园 BBS 社区 ] }Y Z'[*a L7`
木铎校园 BBS 社区z8LP;MFmn3]c

  在Linux下有很多系统性能分析工具,比较常见的有top、free、ps、time、timex、uptime等。下文将介绍几个较为重要的性能分析工具vmstat、iostat和sar及其使用。木铎校园 BBS 社区OQ\\H7@w

木铎校园 BBS 社区(v$?2R ~ I&V'n`r

  用vmstat监视内存使用情况

"| t%qS2a!T/ZW0木铎校园 BBS 社区'D&e@]})p~

  vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监视。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。

C:B6V%L2O(l0

/l*E'n7H*q[~S+|%D0  vmstat的语法如下:

D.k%{&|B dt0木铎校园 BBS 社区mR+P4T&y n3k/N*{cy

  vmstat [-V] [-n] [delay [count]]木铎校园 BBS 社区+H(s&N^&j)Od n
木铎校园 BBS 社区h B,Huq"z%D

Y/`Q a6?%\}7N#Z0i0  其中,-V表示打印出版本信息;-n表示在周期性循环输出时,输出的头部信息仅显示一次;delay是两次输出之间的延迟时间;count是指按照这个时间间隔统计的次数。对于vmstat输出各字段的含义,可运行man vmstat查看。

w l1?.^de;mA0

XEm+[x;_S0  用iostat监视I/O子系统情况木铎校园 BBS 社区Y/po3z {|]6T

ID;v3d8]8iZl%H0   iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

Zx2tA%u~)R0木铎校园 BBS 社区~/AdBW$B&m G

  iostat的语法如下:

7S&O6v,k:n0木铎校园 BBS 社区4QB2R\n`:e$AsW


-@B5D&TA`"xL~0iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]
h y:|;u/rq0

1d'F'Q~n F7K'{l2`k0

+_%vTV;H-O4E,Y.f0   其中,-c为汇报CPU的使用情况;-d为汇报磁盘的使用情况;-k表示每秒按kilobytes字节显示数据;-t为打印汇报的时间;-v表示打印出 版本信息和用法;-x device指定要统计的设备名称,默认为所有的设备;interval指每次统计间隔的时间;count指按照这个时间间隔统计的次数。

v;Y-~sy(i*x0

4U!yL9LT)u0  iostat一般的输出格式如下:

/G-}M"V&@.`[0

6u8iP,d*I8X0Linux 2.4.18-18smp (builder.linux.com) 2003年03月07日木铎校园 BBS 社区x7mn6Bf'IV

木铎校园 BBS 社区Eu!y \3nBI!i

avg-cpu: %user %nice %sys %idle

?(p:U@M2D0

w"b PH K'Ks+Qn04.81 0.01 1.03 94.15木铎校园 BBS 社区 Q Cl.j|nL H}^T$A

木铎校园 BBS 社区aj9S6vX-],x

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn

B3^5`GP?CB m0

h|:@Z7\)P EA0dev3-0 30.31 1117.68 846.52 16104536 12197374木铎校园 BBS 社区/hM7Mn?O*vPA3a:u

)B E O1ce%I{0dev3-1 7.06 229.61 40.40 3308486 582080
y8V:W _ eQ\S7p0
木铎校园 BBS 社区 ^JZ*nHdRz^/Wd7`

[2afCYt5o#?^(p7y0对于输出中各字段的含义,iostat的帮助中有详细的说明。

*m'QE^Eu^,cYE0木铎校园 BBS 社区1gnL E&bYe Qx"? s

vmstat 命令报告虚拟内存统计信息和CPU负荷:页面调度,交换,任务交换,CPU利用率。命令的语法是:
[.F}x~1Yh0vmstat [-cisS] [d1 d2 d3 d4] [interval [count]]木铎校园 BBS 社区8Fb8Q]C/}q
当不用选项时,vmstat显示一条曲线表示自从系统启动后活动的信息。如果指定interval(时间间隔),接下来的线是重复显示最后的interval期间活动的情况,直到用户中断命令执行。当同时提供计数器时,统计信息按时间计数来显示。
h7BP5KUA0D-D(D*n0如果指定了一个磁盘名(如d1,d2,等等。),这些磁盘得到优先显示。通常,系统上的前4个磁盘设备是显示的,因为只有四个设备能在一线条上显示,这个 选项允许性能分析员修改缺省显示选项。(*磁盘名通常随id,sd,xd,或xy (取决于类型和I/0界面)加一个数字,如id0,sd2,xd1等等命名而定。)
(w%p:S'u(li]a(DP/S0,vmstat 命令显示若干字段信息:
'Eu&jY/l:L0

b5EE \HF2k`0

^K:O(Q'i$}3\n)u0procs 报表下面三种状态的进程数:
?6V'U5ZR9{:^ jlo {0r--在运行队列中等候运行
2e|*s0XBC B-X K0b--被资源阻塞(I/0,页面调度,等等.)木铎校园 BBS 社区$^Q3L;XFk
w--可运行但是被换出的木铎校园 BBS 社区k!RZ-vGR
memory 报告虚拟内存和实存信息:木铎校园 BBS 社区'D'@"RS{e1e
swap--以千字节为单位的当前可用交换空间的数量木铎校园 BBS 社区q ~2~K*J+L`G
free--以千字节为单位的页自由表大小木铎校园 BBS 社区b{ nc.|f)U G
page 报告每秒页面调度活动数量的信息:
N)@${ }(AJ7q0re-从自由表回收页木铎校园 BBS 社区7D`4P:Io L
mf--次要的错误;地址空间或硬件地址转换错误
mV S{:T0pi--页入的千字节数木铎校园 BBS 社区6~ p5} lq M
po -页出的千字节数木铎校园 BBS 社区5U LF#j-Q5?
fr- 释放的千字节数木铎校园 BBS 社区)j#guCGO
de--以千字节为单位的可接受的短期内存不足数木铎校园 BBS 社区:uBG.k){Y1j,Yt
sr--页由时钟算法扫描木铎校园 BBS 社区i\E&D"v)@
disk 可以为四个磁盘报告每秒磁盘I/O的数量
木铎校园 BBS 社区N~f0IPB2G:QIn+f~

木铎校园 BBS 社区!f1x;K+K[,J

faults 报告每秒系统软件中断和硬件中断的速率木铎校园 BBS 社区UsJs'FQ?1u
in-设备中断,不包括系统时钟中断木铎校园 BBS 社区!g!K$O`;]5@4u pn0[a
sy-系统调用木铎校园 BBS 社区9UE-C#lK$v#GS
cs-CPU任务(上下文)交换木铎校园 BBS 社区(B(b |Ps e
cpu-- CPU故障时间的百分比,在多处理器系统上,这是全部处理器的平均值:木铎校园 BBS 社区 I3t8inO
us- 用户时间
w%er0Gq!Jd?I7Fd0sy-- 系统时间木铎校园 BBS 社区+xA Qow[ig"g\ A
id-- 闲置时间
#S&G8b7cTz0vmstat命令有四个可选标志可供使用。如果机器有虚拟地址缓存-c标志就改变输出报告缓存刷新统计数据。报告包括自从系统启动后每种缓存刷新全部总量。六个缓存类型是用户,上下文,区域,段,页,部分页。木铎校园 BBS 社区$~;\ q usa&L0B
-i标志 使输出变为报告中断的数量。如果给出设备名,如d1,d2等,监控将在设备级*执行,(*注,参阅第十二章有关打开设备级监控的信息。)并报告每个给定设备的统计信息。木铎校园 BBS 社区+a~5YQ&w#fZ S&Q
修改"普通"报告来显示交换而非页面调度活动的信息。这选项改变显示的两个字段:si(换入)和so(换出)替代了re和mf字段。
I,}Uv8z5t.R3h F ~0值得注意是,interval 和count选项对-i或-s选项是非法的。

4e,^:o2Ha}0

5M E R.dp1@0s/d g0vmstat 参数详解
.e&?jXyd5Ko:z4f0procs:
木铎校园 BBS 社区/W+?|8Yd(Z-Q,A

木铎校园 BBS 社区(U\ ] B.R(f}q

r-->在运行队列中等待的进程数
U#\8vY!ARc7|Y0b-->在等待io的进程数
7?9d7Ld0Xy`0w-->可以进入运行队列但被替换的进程
木铎校园 BBS 社区Bl4M ^q!D0g

"Lx;h-[[0木铎校园 BBS 社区'eU;Q w{w2cYy Q
memoy

v _'G i:v4? n;qpd0

B#p6d+x:M{y0R0swap-->现时可用的交换内存(k表示)
O7C#\0J2?u6d0free-->空闲的内存(k表示)

$i&b(@|0^0木铎校园 BBS 社区 dNp UB5i |

木铎校园 BBS 社区+[0s*o#dP:vr
pages

wA7jd3h*U:})^R6y@0

zS}c ]&M0re--》回收的页面木铎校园 BBS 社区,qoM9}+eX
mf--》非严重错误的页面
@'I{k2?\t0pi--》进入页面数(k表示)
R)T#h Z ]@OaF0po--》出页面数(k表示)木铎校园 BBS 社区3X\,pB1`o
fr--》空余的页面数(k表示)木铎校园 BBS 社区%z_eMcy
de--》提前读入的页面中的未命中数木铎校园 BBS 社区K K5c'~2ry
sr--》通过时钟算法扫描的页面

3_4m9K"k3c E0木铎校园 BBS 社区U i3U@!cN;Y6]1{


l }9r9]r5lqK0disk 显示每秒的磁盘操作。 s表示scsi盘,0表示盘号

Un6d h:Q3DwO E/_0木铎校园 BBS 社区9x3Ya,G-m$F~/M"B

fault 显示每秒的中断数木铎校园 BBS 社区*B4WM]Sm]QO
in--》设备中断
Z\ ~R'X`)V} J6z0sy--》系统中断木铎校园 BBS 社区 ^ @g wSRV*hm
cy--》cpu交换

V'e? mfBw0

iqa#JC;[-\0
}&^)c|F9v Q0cpu 表示cpu的使用状态木铎校园 BBS 社区 p!uG2OMT6rtO.L

木铎校园 BBS 社区|O5Z"wR

cs--》用户进程使用的时间木铎校园 BBS 社区+Qy6l,nxP
sy--》系统进程使用的时间木铎校园 BBS 社区PNgkw7fz
id--》cpu空闲的时间
木铎校园 BBS 社区/v"LbB Wi|y7P!U

木铎校园 BBS 社区.D Mp1u_3N!xI

FIELD DESCRIPTIONS木铎校园 BBS 社区W0O!r E6e @H&Qj"@

木铎校园 BBS 社区G [ bkc"o

Procs木铎校园 BBS 社区JhAcip]8Y

木铎校园 BBS 社区U.j%@P&H0n

r: The number of processes waiting for run time.

_uo1{)Ze0

\(X2HU:p0b: The number of processes in uninterruptable sleep.木铎校园 BBS 社区_0n Mz ?z9^

nZ fk:`:c[#r0w: The number of processes swapped out but otherwise runnable.

/U oNZte"`0木铎校园 BBS 社区 dno-kzs{

Thisfield is calculated, but Linux never desperation swaps.木铎校园 BBS 社区-RE|2f#M3[+xU

uYa"tk.Cl1d1XR0木铎校园 BBS 社区kp sBZwr yL`c w

j;] b&h4C4H0Memory

$[Xa0?@G$[+K0木铎校园 BBS 社区 ?b.T'N.g2Q$vQ\

swpd: the amount of virtual memory used (kB).木铎校园 BBS 社区+o4q2c-jz5Fg!tq7BW

木铎校园 BBS 社区G6O0PazG

free: the amount of idle memory (kB).

u&A+K Y#}k}&H9F0木铎校园 BBS 社区m S;q ~BU

buff: the amount of memory used as buffers (kB).木铎校园 BBS 社区PyD"U)zzr

~QC9`B0

dB"QW _d&L0

N,u/Zl/z!JV'q0Swap

4s+_:tw7@1g r]0r j0木铎校园 BBS 社区J)N,y)^Mb

si: Amount of memory swapped in from disk (kB/s). 虚拟内存的页导入(从SWAP DISK导入RAM)木铎校园 BBS 社区 C7\E1K B$o(K

木铎校园 BBS 社区*N_1B)Xv.d#R

so: Amount of memory swapped to disk (kB/s). 虚拟内存的页导出.

%Y[,R9@9X1}0

{\5OK.rJYe+R0(从RAM到SWAP DISK)

EH^*vx0木铎校园 BBS 社区X5W9FHAt

木铎校园 BBS 社区A0l/A4bY$h!g

木铎校园 BBS 社区r1WIyUv;j K

IO

%G)D@a"Q0

'sLE"d B2`0bi: Blocks sent to a block device (blocks/s).

'W1E Ib` \ ]0

YS0g ial(}7O5s0bo: Blocks received from a block device (blocks/s).木铎校园 BBS 社区F0dj|w8D

木铎校园 BBS 社区K1Q/Nuh%C v

lm'{ O+Y~*J0

%sq\?0oedI{0System

-fi*K4X,o(Lf!d.PO0

5_H:xq&X/l1R#A0in: The number of interrupts per second, including the clock.

?$R&?e2ZA ~0

C|h"~t`9r?0cs: The number of context switches per second.木铎校园 BBS 社区@?6I@H!g

C:mr~`"q_0: CPU木铎校园 BBS 社区 `b Ixy$o Z~y

木铎校园 BBS 社区 Vg])OG!o\ Z0eL

These are percentages of total CPU time.木铎校园 BBS 社区%R'K(~Mxg7@R

木铎校园 BBS 社区KC0C MuWT`x

us: user time木铎校园 BBS 社区&Q,zy w*a~Xt C|

JS j_P\&t0sy: system time木铎校园 BBS 社区+e'|-s$zT'^GP-x E t@

~H$iJW)e3d5z0id: idle time木铎校园 BBS 社区1T X5aD,W!D

木铎校园 BBS 社区$uZ*uUH O;U/v

如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。木铎校园 BBS 社区N4q;u.Y1@9f y7C'wLU
如果pi,po 长期不等于0,表示内存不足。木铎校园 BBS 社区"b&U%r1n$U%Sc%zZ
如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好。
木铎校园 BBS 社区%I#b)u M W.} i%O

H U5`;C r/^H+X0由vmstat看服务器

xzM2H WYe0

1q0z1d#sZF|N*eQ0
S$o-c~ku0说明:由于STATSPACK并不能获取全面分析性能问题所需要的所有信息,所以需要扩展其收集服务器的统计信息。(本文环境REDHAT Linux7.2)

g D+S a6]A(l&P\0

"E7i+Tq,h7v0木铎校园 BBS 社区r#`L#Jov

木铎校园 BBS 社区 ^NE0H)KA$L

VMSTAT介绍木铎校园 BBS 社区}V]!Dq

木铎校园 BBS 社区;ve t nFr

通过STATSPACK收集服务器信息,主要通过收集VMSTAT的信息来展现服务器状况。VMSTAT工具是最常见的UNIX监控工具,可以展现给定时间间隔的服务器的状态值。

6d|K x)Q0木铎校园 BBS 社区ymjggf[

一般VMSTAT工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数。如:

{P8ut B/{&Df0木铎校园 BBS 社区Z2} AsWO

[oracle@brucelau oracle]$ vmstat 1 2

.p*?yX7xKr0木铎校园 BBS 社区9COUN'~v|!m4aj

procs memory swap io system  CPU

kj0W4E/p2t6zo VS0木铎校园 BBS 社区 r%L0^+P"v;?}7^x

r b w swpd free buff cache  si so bi bo in cs us sy id木铎校园 BBS 社区"M)VZ6mSN/Q

木铎校园 BBS 社区*Dp#N ['R0u

1 0 0 0 271844 186052 255852 0 0 2 6 102 10 0 0 100木铎校园 BBS 社区~5@Ui3|)_"f

.mT\,VR%Un[C;@2]00 0 0 0 271844 186052 255852 0 0 0 0 104 11 0 0 100木铎校园 BBS 社区D9XSrOF^gN,X.g

As-Gz+l Z&m3n;r0木铎校园 BBS 社区;t _+W7l&~ K

木铎校园 BBS 社区 Ra V8B)tj+U;~

(注:目前系统几乎空闲,并且不同操作系统VMSTAT输出内容有所不同)

c"Ni2E?0d4f r1s0

%AU7RE:zE@F0

/^AlhA9z5J+\2li0木铎校园 BBS 社区#n^%n#w r:eF A N

目前说来,对于服务器监控有用处的度量主要有:

jZH \{WT0

2F ps8qk|.K0r(运行队列)木铎校园 BBS 社区 YsB%?^)`*ERV

,o'ePrB0pi(页导入)

8U+cXgw7L(G3l1y0木铎校园 BBS 社区/yqF$yH+h1|

us(用户CPU)木铎校园 BBS 社区8hqZ-kh Y]

木铎校园 BBS 社区yVTx#fNs

sy(系统CPU)

m&~,fQD P%r{&w0木铎校园 BBS 社区)@UC8Os6Et&N|

id(空闲)木铎校园 BBS 社区lRL }h.S5A

木铎校园 BBS 社区wV7S3SE

木铎校园 BBS 社区d'X~({P_&bI)R

&z8R)j_*H(D p-Y$D c1J0通过VMSTAT识别CPU瓶颈木铎校园 BBS 社区J#s-lF(Q A*L

bV \ ^ Y` dM0r(运行队列)展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了。

rDZ]7bq:j0

`up3s$w A yB0获得CPU个数的命令(LINUX环境):木铎校园 BBS 社区o8iq kR`aDI

木铎校园 BBS 社区 F8m`}S

cat /proc/cpuinfo|grep processor|wc –l

2\mZ&x&l6o6HN@0

!^sQ(d5f0当r值超过了CPU个数,就会出现CPU瓶颈,解决办法大体几种:木铎校园 BBS 社区*X @J8W8A1jq

木铎校园 BBS 社区|_!JW'Y.O(o[!v

1. 最简单的就是增加CPU个数

6my7TFY I$~*iCa0木铎校园 BBS 社区-Q/w$F7U.|9d9Lrn

2. 通过调整任务执行时间,如大任务放到系统不繁忙的情况下进行执行,进尔平衡系统任务木铎校园 BBS 社区yD Y#^d;XJ H o

木铎校园 BBS 社区O.G0DiS;k

3. 调整已有任务的优先级

|Q#c;Ok6VV Tl0木铎校园 BBS 社区JUy `,U#Ep#b N

(xKwB!wlq0

k#H,z4c]!MO0通过VMSTAT识别CPU满负荷木铎校园 BBS 社区 e)s]y"zo

木铎校园 BBS 社区[)C(^ HH$R1^ Ljr

首 先需要声明一点的是,vmstat中CPU的度量是百分比的。当us+sy的值接近100的时候,表示CPU正在接近满负荷工作。但要注意的是,CPU满 负荷工作并不能说明什么,UNIX总是试图要CPU尽可能的繁忙,使得任务的吞吐量最大化。唯一能够确定CPU瓶颈的还是r(运行队列)的值。木铎校园 BBS 社区\Y D7X` @/Z Gi;c"Y

木铎校园 BBS 社区A;t;Q o7PUJ.Sp

~qQ5S.C;m0木铎校园 BBS 社区 u;@p,d'K}

通过VMSTAT识别RAM瓶颈木铎校园 BBS 社区}OH%Mg/a

木铎校园 BBS 社区'Y*{"}n:t{blo*E _

数据库服务器都只有有限的RAM,出现内存争用现象是Oracle的常见问题。

5Z!r_'p6G w A/i0木铎校园 BBS 社区NIaT0D/b

首先察看RAM的数量,命令如下(LINUX环境):

@pA'T/V0木铎校园 BBS 社区bp-`;xV3h0FlFf

[root@brucelau root]#free

K.j;KgQ'^+_0

'ut8F yd/~EE8|0total used free shared buffers cached

'H1nw mM)C_)?1J0木铎校园 BBS 社区g:Q*gd ][-^

Mem: 1027348 873312 154036 185736 187496 293964木铎校园 BBS 社区E"@j]!}^4oj#q

T G7S.ssIr0-/+ buffers/cache: 391852 635496

#c+y+r5Xp5V0木铎校园 BBS 社区9j1rYZE

Swap: 2096440 0 2096440

.iB1iXjE5[0

L:m:i1S.\ pSeX0

u(L4Gh/L`0木铎校园 BBS 社区O3Ly&?0| T6e {

当然可以使用top等其他命令来显示RAM。

'K*`h6|7X*f:H0

!M `l0TG!kI0当 内存的需求大于RAM的数量,服务器启动了虚拟内存机制,通过虚拟内存,可以将RAM段移到SWAP DISK的特殊磁盘段上,这样会出现虚拟内存的页导出和页导入现象,页导出并不能说明RAM瓶颈,虚拟内存系统经常会对内存段进行页导出,但页导入操作就 表明了服务器需要更多的内存了,页导入需要从SWAP DISK上将内存段复制回RAM,导致服务器速度变慢。

!L}nvRs'[ x f0木铎校园 BBS 社区x6N-^ vg2q*Q

木铎校园 BBS 社区0J m8RBmU4| MSG

1jq]MB1E ]|0解决的办法有几种:

-W}6L#h2\7T c&O a:X0木铎校园 BBS 社区NZ;{o,U7YG AW~D

1. 最简单的,加大RAM

-g7R1}*{"g q0木铎校园 BBS 社区3iry_k ~ sF7n

2. 改小SGA,使得对RAM需求减少木铎校园 BBS 社区5l1w} Jf!B:?

^QMg3y1o?1T03. 减少RAM的需求(如:减少PGA)

1KK]*J!`-I0

N8zE2a0i1QepTs| [0

wH*i$S?3s0m0

6D\9Q? d&\ A0我们基本的了解了VMSTAT工作,下面是STATSPACK通过vmstat统计收集服务器性能数据。木铎校园 BBS 社区 CUU)S |'b-S

t3lf\MjR.T0

,\2p+[:j ?XS0

Q ]Y`2_r&B0STATSPACK通过vmstat收集服务器信息

4I;Ut+F2U,c0

1Tno6{.t bk6F0首先在perfstat用户下建一个存储服务器信息的表:如木铎校园 BBS 社区0l*@O/da%z&[?k

木铎校园 BBS 社区-[McMW0Z"P |^

建表:

;Bcm"c0[UU0

w;\x5r5e)L(Z7V0create table stats$vmstat

9|5^']E`2tZ2i0

mI xC'~,Z i0(

T/VU0^w+c4C&wi1S0

w*eA{7EVsP/kf0start_date date, --系统时间木铎校园 BBS 社区$ao2o-Yt7U1f

木铎校园 BBS 社区o`s]1x TL

duration date, --时间间隔

.L$Y xQ ZZ3RxOj [0

[pt*^bsb0server_name varchar2(20), --服务器名称木铎校园 BBS 社区Y iq#~[

木铎校园 BBS 社区HP f&O/M;`.Z$^0Y

runque_waits number, --运行队列数据

%\ \ x:?4U1M/fX0

z&@#n)`5|/] ^4_0page_in number, --页导入数据木铎校园 BBS 社区(m R7g-g3ck9v

木铎校园 BBS 社区)L MO#~%\-G

page_out number, --页导出数据木铎校园 BBS 社区&|*I"UHQS

mHC Ig/fVn;g+{ a0user_cpu number, --用户cpu数据

E,M*n-uq0木铎校园 BBS 社区?$T3jAf @oh!Gz0I

system_cpu number, --系统cpu数据

N.q3y.P1P6Cz Gd?0木铎校园 BBS 社区7u0RaxA,a w

idle_cpu number, --空闲cpu数据

;c Y,xc8AI*z z#xC0木铎校园 BBS 社区8I l+o#Xsdstl:A'n

wait_cpu number –等待cpu数据(只是aix存在)

M;w&h/f Y9_;m-L.zdK)E0

+i C H%JZ5Jnjhj0)

p3y-m gYl-F*P0

\@`G~X,q`0tablespace perfstat;木铎校园 BBS 社区JC}:Cku

'`(\0f8|\Y0然后,通过UNIX/LINUX的shell变成,利用vmstat的结果来获取相应的服务器信息,并且存放到表中。木铎校园 BBS 社区Dl@(GJ

木铎校园 BBS 社区Bt+G+eT/J\ ^

木铎校园 BBS 社区;ms%\*z+n&oUa

&xn6mmA;_&}0关于shell编程,可能已经超出本文内容,并且诚实的说,本人并没有shell编程的经验,希望那位兄台可以完成shell编程的内容,并劳驾mail给我共享一下,谢了先!!木铎校园 BBS 社区X-\"p*tcsY\8Y

?T9W kX'?h'P!L_0

.xLvUh/Fe0木铎校园 BBS 社区0gS ?V.c5gP\

木铎校园 BBS 社区 \,Se^-T

`Z,W y*qG0

0Vei+R6K T9j+n0木铎校园 BBS 社区fZ]/u|2B{Ln2o

木铎校园 BBS 社区#L$[8_"iWMN3`

木铎校园 BBS 社区[8m Y,k-CT9jLK

附:木铎校园 BBS 社区 CG:fm T;G

木铎校园 BBS 社区 S"n)F,K E j Vd

LINUX上VMSTAT的帮助手册:(man vmstat的结果)

['RO6r$TL_?0

)T&y5x*ER_hO0VMSTAT(8) Linux Administrator's Manual VMSTAT(8)

TKL}$z!v0木铎校园 BBS 社区%vMti3w b5BV

NAME

2dH+aky$|0木铎校园 BBS 社区 X~/UGP

vmstat - Report virtual memory statistics

j_3f3l'fC1l4xb0木铎校园 BBS 社区`/zk,b p0qK DO

木铎校园 BBS 社区OT#n$v&xRAo8N

wF$eSS$^y0SYNOPSIS木铎校园 BBS 社区f \j$@Q3aP6}W

SXq Kw6N0vmstat [-n] [delay [ count]]木铎校园 BBS 社区Yr]AS&s

?XG `V0vmstat[-V]

r"S AE @;y\0

+u&c.q;W+O!pB%iN7} Zs0木铎校园 BBS 社区*QJQ-S)o"{b

木铎校园 BBS 社区a%x+W.vB

DESCRIPTION

!}Z!u(i+ok,F0

$qP*{ i~5gBeY#j_0vmstat reports information about processes, memory, paging, block IO, traps, and CPU activity.

gtc{6}2GOA0

.l.iO.}|!q0木铎校园 BBS 社区 k(u Mx:Vs j7r,[

(a Uz \:hh"jq0The first report produced gives averages since the last reboot. Additional reports give information on a sam-

XO!A,Q3D5J5zn,s[0

sE"Z;^f9NHN6ri0pling period of length delay. The process and memory reports are instantaneous in either case.木铎校园 BBS 社区;e9HH JvhX;fI

木铎校园 BBS 社区_3?Pud BuXZ$@f$U

木铎校园 BBS 社区VT!MC$H |D9AS

[FIJ`0Options木铎校园 BBS 社区5s1}*iS3PET

GV4b U}bf5S0The -n switch causes the header to be displayed only once rather than periodically.

"jMtva5t ^3Am,R0木铎校园 BBS 社区+ss |tN(}b p D

^0`X mF&b0

;L Pc/fqq4y0delay is the delay between updates in seconds. If no delay is specified, only one report is printed with the木铎校园 BBS 社区 oy2O@KNx

木铎校园 BBS 社区o,\P5c$^

average values since boot.木铎校园 BBS 社区 J^cZ*O*I9P

木铎校园 BBS 社区.s&TS1OH,aC!z

木铎校园 BBS 社区2E#`C0^ dk+v9I4Z

木铎校园 BBS 社区N%C8vi+IB

count is the number of updates. If no count is specified and delay is defined, count defaults to infinity.木铎校园 BBS 社区h,tS!f@Y'h{

木铎校园 BBS 社区H,ma&d)U%w,o

.fq|0R(LXo#{f*|_0J0木铎校园 BBS 社区,{ E2I#?]a

The -V switch results in displaying version information.木铎校园 BBS 社区T%R"w K'pq;W

%^F[;x"A [ [5GVv [0木铎校园 BBS 社区_ G @%vA

木铎校园 BBS 社区t,t\yp-N-[?*b.V

FIELD DESCRIPTIONS木铎校园 BBS 社区#g%pR5[&|)K{j7[2Y

木铎校园 BBS 社区*F6G? U$Y mH'd;e

Procs木铎校园 BBS 社区$t2\q0wX b

木铎校园 BBS 社区x$Tc*[*`I `p

r: The number of processes waiting for run time.

)Ic_7F![7X8S Av0木铎校园 BBS 社区:v#A0g(g:Hsg

b: The number of processes in uninterruptable sleep.

.t2]6JR/r2[3l0木铎校园 BBS 社区+|D o_"p-sH@/{2l

w: The number of processes swapped out but otherwise runnable. This木铎校园 BBS 社区%ow-s0A9dv\&yWI

木铎校园 BBS 社区S!gs3e6ObI

field is calculated, but Linux never desperation swaps.

%UDxYb*u0

,h n8|%e%R4yI/RF0木铎校园 BBS 社区YW!g6NY_{:d

3_\lChv~hwfV0Memory

9c}Q vFk&\0木铎校园 BBS 社区;AH^fH)|6v"M ?

swpd: the amount of virtual memory used (kB).木铎校园 BBS 社区N0R F*i1YQ

!w:jsp;jL?0free: the amount of idle memory (kB).

3Z:?'ML5iB/f0木铎校园 BBS 社区QA6`$l"[2W n

buff: the amount of memory used as buffers (kB).木铎校园 BBS 社区{8x#x*Zm\&mC

%G S*B7ZB,x$[f q0木铎校园 BBS 社区5jba1xqn

] ?K?O'v0Swap木铎校园 BBS 社区m t.F6i#N-S-a-m"A k5z

/j*@y] p)y5e7j&B8b0si: Amount of memory swapped in from disk (kB/s).

Ka#T6P8i:{0

yeO0u+wVhI`0so: Amount of memory swapped to disk (kB/s).木铎校园 BBS 社区2_k ta_&b6p

T` `p7A&q0木铎校园 BBS 社区8S H"X!`"W

木铎校园 BBS 社区!{\Y4LX.fL2q.{

IO

] R])yA(nzrG0

.~\-n { Wac2us0bi: Blocks sent to a block device (blocks/s).木铎校园 BBS 社区f ]/U/z$p4H

`+n$h)^q'IU4``R.?Kk0bo: Blocks received from a block device (blocks/s).木铎校园 BBS 社区(EPt!s-G*O!A

木铎校园 BBS 社区3Se4`)}nA

k'R0f:`5RB0

8cg9Aw*F-l#W Ag3d0System

g9A1x6gf i4TKa0

f&P\.k[0in: The number of interrupts per second, including the clock.

#}${l4gy]e9AGj0木铎校园 BBS 社区7x5sw!\*ynVG

cs: The number of context switches per second.木铎校园 BBS 社区d&b;cpbfs6l

+C n^'D H lh3Aex0: CPU木铎校园 BBS 社区5W'z)e:jTBn E:J

E&l;@)}T X0These are percentages of total CPU time.木铎校园 BBS 社区.MjS$J8CD_

木铎校园 BBS 社区 ytG6G+E

us: user time

cn6|,R%W(lG-Y%l!]0木铎校园 BBS 社区5lE#n R5L-]

sy: system time木铎校园 BBS 社区jZn4bh/B

木铎校园 BBS 社区.R^`9Ix+N'm^`n

id: idle time

q;A#f|9s$H^vra%{-b0

x3uI IN$u0

6f/W*x8L9Hd:| M-bX0木铎校园 BBS 社区`_g@Ozu"wr0i

NOTES

3C@.S;Mx'Cf p0木铎校园 BBS 社区)D3ldqD dv

vmstat does not require special permissions.木铎校园 BBS 社区0I+~ \x6UT7q

木铎校园 BBS 社区(b~3N YGZ5\6Ln

木铎校园 BBS 社区3Fp/j9o0lp` [ZQ

木铎校园 BBS 社区 FvVb*y1u+Ws

These reports are intended to help identify system bottlenecks. Linux vmstat does not count itself as a running process.

K:I ps#U4ms"I#E0木铎校园 BBS 社区e9[`/c2`rN2r }t

木铎校园 BBS 社区 dLr*G4Z%Qq%F

7j\$H L'`Ko2?0All linux blocks are currently 1k, except for CD-ROM blocks which are 2k.

@+cd/y!Z0

fO.sd:T g'e2p0木铎校园 BBS 社区0~F.i4cE

H0m&m*[+A@r)u2tO0FILES

.k&R?JD0I-m0

/iX0BRQw O%n{q*`"M0/proc/meminfo木铎校园 BBS 社区Y$k4B\ [)b

,wj x}!l6r7G4P}0/proc/stat

7nE^t.i'lB0

!WP;i1X1Qk0/proc/*/stat木铎校园 BBS 社区d F/FIGj Hd

木铎校园 BBS 社区UQ-E5m!_t6P

8Dn Yi Q(P4L G/qA0木铎校园 BBS 社区YIo6U5Y5b_

SEE ALSO木铎校园 BBS 社区s*VdN^

木铎校园 BBS 社区} S0b'`uT_gN

ps(1), top(1), free(1)木铎校园 BBS 社区hd5B5C g [9jk~

2P'ZxE*mu6P0t-f0

1m J0tD-A;GY0

A;@JF%|P-_0BUGS木铎校园 BBS 社区8@sAPk5yG

NO%T5G^ fEn4f0Does not tabulate the block io per device or count the number of system calls.木铎校园 BBS 社区+}8X cYi

木铎校园 BBS 社区1iyQ ms ig

木铎校园 BBS 社区X5o:raef m4I

q {g*tJ,| Mv^? X4T0AUTHOR木铎校园 BBS 社区&Z"b5N5Q5^vWN

zQ g*L%x&f0Written by Henry Ware <al172@yfn.ysu.edu>.木铎校园 BBS 社区KhBgi6u l|

木铎校园 BBS 社区 qF8[](k.WF@e

#Xu4`9I/K6c3S0

h \M5N&Dc J1w"?0Throatwobbler Ginkgo Labs 27 July 1994 VMSTAT(8)木铎校园 BBS 社区]i@U9apI


TAG: Vmstat iostat

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

关于作者