系统状态查看工具Sysstat

摘要:本文讲述的是系统状态查看工具Sysstat的介绍,重点介绍了Sysstat的工具集sar、 iostat、mpstat、sadf、sar、sadc的用法;同时也把与之相似工具做以介绍; wAn:Ix2}5EI#r0
VB6fQT ?n \5w5h0Sysstat tools download : IBM DB2 数据库用户社区.]�j*Kwn2v$E0c+{x4h1B
IBM DB2 数据库用户社区WUy.r3Kpy e]Z
http://pagesperso-orange.fr/sebastien.godard/
-J,u#`@ SR+U0
P(KGevUJ0 目录 IBM DB2 数据库用户社区'S'd6uMX6u8tn;h
    1、关于 Sysstat;
    1V K-R1}'Y*p2V0 2、安装 Sysstat; IBM DB2 数据库用户社区foN"| x#x h(j/l
    IBM DB2 数据库用户社区;[#p!Mt;uS e
      2.1 对于Debian或deb软件包为基础的系统; IBM DB2 数据库用户社区2S/},jn;\e ~
      2.2 Fedora 系统或以RPM包管理的系统; IBM DB2 数据库用户社区lf oyoy
      2.3 Slackware 系统,对于Slackware系统;
      5M1~;lE5m,f0 2.4 通过源码包编译安装; IBM DB2 数据库用户社区{ ?3OVy$Q
      2.5 关于 Sysstat 计划任务;
    IBM DB2 数据库用户社区qF'fF*M{3S'qA
    3、Sysstat 工具集介绍; IBM DB2 数据库用户社区|)ex1m-NU
      3.1 sadc 工具; IBM DB2 数据库用户社区 ea LN-lv
      3.2 sar 工具; IBM DB2 数据库用户社区J%e&g~'F5nx
      3.3 iostat ;
      XC']"f*X'P _8x0 3.4 mpstat ;
      ko#st'K |C0 3.5 sdaf ;
    7E'IMR:Y b;{T,Y9E0 4、 与Sysstat相似工具; IBM DB2 数据库用户社区-iYzsL+P$T#H
      4.1 进程管理工具; IBM DB2 数据库用户社区-XYB:gg1x
      4.2 内存使用率查看工具 free 和vmstat;
    +Fn�],Z1@*u)|0 5、 关于本文;
    6? {5Gf~6Cb0 6、后记;
    Z(^j*Q b)d Snf3`2D o0 7、 参考文档; IBM DB2 数据库用户社区W_v-ZQ#T
    8、 相关文档; IBM DB2 数据库用户社区!nQb8a2F-W
IBM DB2 数据库用户社区^F[T4_)Zf9u1x`qL

\3em`lD0+++++++++++++++++++++++++++++++++++++++IBM DB2 数据库用户社区6y'Vq*vJi6H'Nb+U H
正文IBM DB2 数据库用户社区/Rr nXq%do
+++++++++++++++++++++++++++++++++++++++
S+Y)jg%LB;E0
!Q |#ZDz2`Y G0
_1r z;Ul |!|0 IBM DB2 数据库用户社区%A:tyw+]5h?q2_l5p
1、关于 Sysstat;IBM DB2 数据库用户社区"xp N6o�lZ;T@
^l,Mv;^x+}0 IBM DB2 数据库用户社区 Zb4{o@Nw2^Kc
Sysstat 是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如CPU使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于我们判断系统是否正常运行,是提高系统运行效率、安全运行服务器的得力助手; IBM DB2 数据库用户社区u.D$Q]b-H
'Tn5g0DM&uS5n"E0 IBM DB2 数据库用户社区3{E9M(Og
Sysstat 软件包集成如下工具:
C~w @V&^0
IBM DB2 数据库用户社区$nW w�f6L$}E-C0E
IBM DB2 数据库用户社区^&VpJo�^2`
    * iostat 工具提供CPU使用率及硬盘吞吐效率的数据;IBM DB2 数据库用户社区)|`PD;T,f5J7@:G
    * mpstat 工具提供单个处理器或多个处理器相关数据;IBM DB2 数据库用户社区1mt,wo#^ z:b0pj
    * sar 工具负责收集、报告并存储系统活跃的信息;IBM DB2 数据库用户社区 ~a-j {r-Y6W
    * sa1 工具负责收集并存储每天系统动态信息到一个二进制的文件中。它是通过计划任务工具cron来运行,IBM DB2 数据库用户社区3M T_ Sf7\-E
        是为sadc所设计的程序前端程序;
%Po yn0x:M0    * sa2 工具负责把每天的系统活跃性息写入总结性的报告中。它是为sar所设计的前端 ,要通过cron来调用
#I$WHb,S9p�N_P0    * sadc 是系统动态数据收集工具,收集的数据被写一个二进制的文件中,它被用作sar工具的后端;
TcUL]1|Sj9gM^0    * sadf 显示被sar通过多种格式收集的数据;
IBM DB2 数据库用户社区?Pp$W#G%N CJl`TL)b0 IBM DB2 数据库用户社区8S wg�YF7Le

sa DUB:X4?p02、安装 Sysstat和运行;
.eNI M l$T�bFR~0
_ ]qiK9T0 IBM DB2 数据库用户社区3L$L MKW�L'^@,O
对于大多数系统,都有这个软件包,软件名以sysstat开头。我们可以通过网络安装它;
'F;J$~Y:G{0
Q o^6\)\+n g.z:{ AU0
I.{ C)k^.L8P$hp02.1 对于Debian或deb软件包为基础的系统;IBM DB2 数据库用户社区8E%q"`u8\8N
s%lw7N$Q4zPq?0 IBM DB2 数据库用户社区v#d6Knb7G
[root@localhost ~]# apt-get install sysstat
IBM DB2 数据库用户社区5mk�e%_1k0\v$A
IBM DB2 数据库用户社区IDU~l`T
IBM DB2 数据库用户社区8m"X`;osz$}
IBM DB2 数据库用户社区0p6p ]u f
2.2 Fedora 系统或以RPM包管理的系统;
`9n'h k8B{0
IBM DB2 数据库用户社区I+V#?y3]*JZ
~x3u H p}2d0
[root@localhost ~]# yum   install sysstat
e&j8kgjk-x8z8{w0
.W{dg8S0 IBM DB2 数据库用户社区[eb&f#Y
如果是RPM包,请用下面的命令来安装; IBM DB2 数据库用户社区.Q3S(ilb"W
(EeU6Z a]#Y;`b0
[root@localhost ~]#rpm -ivh sysstat*.rpm  
]9O P8MtvL k"M [0 IBM DB2 数据库用户社区"V FH i%mY.`Is#|,\8[
f"|,^['U$~0如果您想了解yum 和rpm 软件包管理工具,请参考: 《Fedora / Redhat 软件包管理指南》
v'Uo(Dv$R J!g0 IBM DB2 数据库用户社区 xT5N7LT:tO
IBM DB2 数据库用户社区a tn |�n_$yk:a
2.3 Slackware 系统,对于Slackware系统;
{&kSr ?yaF0
IBM DB2 数据库用户社区*f3[w*b2X-b8t0A
-X@,Bd3c#k0
[root@localhost ~]# installpkg sysstat*.pkg
V8? Uv!ZF:j.e/G0 IBM DB2 数据库用户社区Y s4m2nG"j;YR,m W
x*B-R oW%k$U0 IBM DB2 数据库用户社区1Q|RZ7`5}$w
2.4 通过源码包编译安装;IBM DB2 数据库用户社区P�o.Y%xd:rU
;r1?,R!dLX0 IBM DB2 数据库用户社区 H6TB'Z buTC
如果您是通过源码包安装,请到官方下源源码包 http://perso.wanadoo.fr/sebastien.godard,目前最新版本是 sysstat-6.1.2;
A-St^.wy)F:z0 IBM DB2 数据库用户社区[/f3lK4@V
如果您想了想一下什么是源码包,请参考: 《如何编译安装源码包软件》
C$O"|HlJ0
:c [ U1~4nX8bh6y0
[root@localhost ~]# tar zxvf sysstat-6.1.2.tar.gzIBM DB2 数据库用户社区C#@q�x;M*t([ S9V
[beinan@localhost ~]$ cd sysstat-6.1.2IBM DB2 数据库用户社区5fi/P/P(c0_!T-r&C:I~
[beinan@localhost sysstat-6.1.2]#IBM DB2 数据库用户社区;e?DZX5X l ~C L
[beinan@localhost sysstat-6.1.2]# make configIBM DB2 数据库用户社区 fq9K4n$h{5zF:t6d8s
[beinan@localhost sysstat-6.1.2]# makeIBM DB2 数据库用户社区3q8e+q/M.\6f5Je5N,UW `
[beinan@localhost sysstat-6.1.2]# make install
IBM DB2 数据库用户社区^o9nao
IBM DB2 数据库用户社区-a&[5C!S_6J
IBM DB2 数据库用户社区Q9H+wS'F@(P O
IBM DB2 数据库用户社区:l+s V+[5ejA
2.5 关于 Sysstat 计划任务;IBM DB2 数据库用户社区`;Q0B} \a1t?@
IBM DB2 数据库用户社区a!b_M-EST5V-r
-H,a2} |-yR*l�J0如果您想得到Sysstat工具集 所收集的系统信息自动存为某个文件中,你必须通过cron 为 sa1 和sa2 做计划任务。我们可以通过修改用户的crontab。在默认的情况下,Sysstat历史信息将被存放在/var/log/sa文件中。如果想定义自己的 计划任务,请参考: 《计划任务工具 cron 的配置和说明》 IBM DB2 数据库用户社区&|sJ�lj�`#bRCn
IBM DB2 数据库用户社区8OG2gM-p9Gy
在root用户,通过 crontab -e 来添加下面的一段;
9|:k&\4yn!B'}6U0 IBM DB2 数据库用户社区 `P;@ Et;]'O%pL
# 8am-7pm activity reports every 10 minutes during weekdays
5O|? FSX}�_00 8-18 * * 1-5 /usr/lib/sa/sa1 600 6 &IBM DB2 数据库用户社区 y {&~9[\*W#`
# 7pm-8am activity reports every hour during weekdaysIBM DB2 数据库用户社区%UW!dud%{N5F'mQ
0 19-7 * * 1-5 /usr/lib/sa/sa1 &IBM DB2 数据库用户社区gX6B,TL,K2\ Uav
# Activity reports every hour on Saturday and Sunday
TQ8\(R1~hn00 * * * 0,6 /usr/lib/sa/sa1 &
3\n'g ks2f0# Daily summary prepared at 19:05 5 19 * * * /usr/lib/sa/sa2 -A &
.v fG^C&b-l v0
*SnBI8M aR0 IBM DB2 数据库用户社区R#xe-JT@A8FaW(w|
创建Sysstat的启动脚本; IBM DB2 数据库用户社区9F9[+{,[,K fF
;g.]Kc_tw g0
[root@localhost ~]# touch  /etc/rc.d/init.d/sysstat IBM DB2 数据库用户社区:R f Il;S,q{u{B
[root@localhost ~]# vi /etc/rc.d/init.d/sysstat
?H#ffE~0
i-R0d~rB n0 IBM DB2 数据库用户社区%iGc e!hq+y
#!/bin/sh
go,KK!v7\p0[$Sw!W0# Begin $rc_base/init.d/sysstatIBM DB2 数据库用户社区;Ib5ss$s;B0E4P

lh8ic3ir&i0\p0# Based on sysklogd script. from LFS-3.1 and earlier.
&@ vq+m4YC0# Rewritten by Gerard Beekmans  - [email protected]
3q5[c?U�Oz0IBM DB2 数据库用户社区-R~Q8a!Q,b4R2V
. /etc/sysconfig/rc
.g5qhg.w4EDXK0. $rc_functionsIBM DB2 数据库用户社区l,L xV({

Yj�xx&x c0case "$1" inIBM DB2 数据库用户社区xr7zZot.S
        start)IBM DB2 数据库用户社区6Z"W J1A$Fp x{
                echo "Calling the system activity data collector (sadc)..."IBM DB2 数据库用户社区2p9GA�OtC U NR
                /usr/lib/sa/sadc -F -L -IBM DB2 数据库用户社区'olK/N6gq U0F%|1]
                evaluate_retvalIBM DB2 数据库用户社区+r5bVwGT
                ;;IBM DB2 数据库用户社区-u0^?.A k
        *)IBM DB2 数据库用户社区 AEF+ojvIeQGY
  
1w3h2I?Zdvv4ep0                echo "Usage: $0 start"IBM DB2 数据库用户社区}/WW;r]{,T
                exit 1
/T&Amsu;f�p0                ;;IBM DB2 数据库用户社区6o:y ^ z9d"^ sG
esacIBM DB2 数据库用户社区b1|.fQm�g4V3o` N

~#x%T�W,Wc;x�H0# End $rc_base/init.d/sysstat
IBM DB2 数据库用户社区%K;P�] KZ\"e/}k3~$q
IBM DB2 数据库用户社区,g#aEm$w nd
.v HOX-{?0
[root@localhost ~]# chmod 755 /etc/rc.d/init.d/sysstatIBM DB2 数据库用户社区z%KY/\ S%R
[root@localhost ~]# ln -sf /etc/rc.d/init.d/sysstat /etc/init.d/sysstat
IBM DB2 数据库用户社区q�TlP)N*UX~ Q3h9w7l;w6Y0
o {$Zm0] _c y1X0有了Sysstat的守护进程,这样我们开机后,Sysstat的守护进程,就时时刻刻的为我们服务了。sa 、sa1或sa2自动把信息存在 /var/log/sa目录的二进制文件中,我们可以通过sar工具来提取这些系统信息的历史;
&h w8s#m(n7Q o.E0
&i+d3S`�D%m�D xo0当然我们也可以通过手动的方法来打开Sysstat的守护程序,也就是我们前面所制作的sysstat; IBM DB2 数据库用户社区Ig6UUp'o$XF
IBM DB2 数据库用户社区0~,cR \!@
[root@localhost ~]# /etc/rc.d/init.d/sysstat start
X7L"])|'t"T%I!q8N0IBM DB2 数据库用户社区gD,?%VZ/}!E�U�]
下面的方法也行; IBM DB2 数据库用户社区-b8} s]D

~V bF3S(ab&b0[root@localhost ~]# /usr/lib/sa/sa1
]_6E+sc:y0[root@localhost ~]# /usr/lib/sa/sa2
IBM DB2 数据库用户社区Di/P,u%@m U/jRI
IBM DB2 数据库用户社区 [1bh.K n�{2ov|i*w
w%`(|CD {*g0
Ae ]ZP,v03.Sysstat 工具集介绍;
d,~rX#]QZ9X0
IBM DB2 数据库用户社区?qJ8W-L
-g$`jF|V la Rk0
5kw&h-l8{q9Q03.1 sadc 工具,IBM DB2 数据库用户社区Am l$K n&xY1t p%t1JN#^
IBM DB2 数据库用户社区_i3O#Q1z
;t A)D)Qk`6a6h0sadc 位于 /usr/lib/sa目录中,如果你没有设置可执行路径,要用绝对路径来运行比较方便 ,/usr/lib/sa/sadc;sadc 是把数据写在一个二进制的文件中,如果想查看数据内容,需要用sadf工具来显示;
zEH,v1~H? rP0
c*bX AGw1g D0 IBM DB2 数据库用户社区5|_uY!lg
sadc 的用法;
j`u0Rc K:|dem0
IBM DB2 数据库用户社区n^?x0Ykhl
"S0h m I4w@6W&Z"cO0
/usr/lib/sa/sadc [ -d ] [ -F ] [ -I ] [ -L ] [ -V ] [ interval [ count ] ] [ outfile ]
F6N&~6b:R1t-\@�m8c0
Mp1P8h6rEv0 IBM DB2 数据库用户社区qY,R2n7jr4e kn
参数说明:
8\Ig_ ]4T0 IBM DB2 数据库用户社区JU5g!p/H5[-f
-d  报告硬盘设置的相关统计;IBM DB2 数据库用户社区D{FK.iNPpRv
-F  强制把数据写入文件;IBM DB2 数据库用户社区*]Nv.P n+d2x'C9~Nz
-I  报告所有系统中断数据;
PP%_~%l0IBM DB2 数据库用户社区;dy V`s0p d+R]
interval 表示时间间隔,单位是秒,比如3 ;
~p(S�{;|5A0count 统计数据的次数,也是一个数字;IBM DB2 数据库用户社区8U K k"M/Q8XAp&Lm
outfile 输出统计到outfile文件;
(WY,c[ i~k0 IBM DB2 数据库用户社区0ehJ3pq"c C*?l
IBM DB2 数据库用户社区!F&Ybc*g9a�Z0d]|
注意:此工具中的参数都是可选的,如果没有指定任何参数,比如 /usr/lib/sa/sadc - ,则会输出数据到 /var/log/sa/ 目录下的一个文件中。我们要通过sadf 或sar工具来查看;
Ronl2A+|3[0
o(B7ECeyt0
[root@localhost beinan]# /usr/lib/sa/sadc  -
,X#x ^Bj @J!Y0[root@localhost beinan]# ls /var/log/sa   注:列出所有sa目录下的文件,根据文件的时间来判断哪个文件是最新的;IBM DB2 数据库用户社区 p p l8hq#Ba;D T;P2ldy
[root@localhost beinan]# sar  -f  /var/log/sa/sa12
0_8?&}D?$V}u0IBM DB2 数据库用户社区1s�Zq[bHd
IBM DB2 数据库用户社区t:@.?lHX
IBM DB2 数据库用户社区D5V1\Z z7k @
[root@localhost beinan]# sadf  /var/log/sa/sa12
"Z`K i)N0 IBM DB2 数据库用户社区&H7I{2I7h"F`VV4W
;MGF%GM0 举例:我们想把sadc收集到的数据写到一个指定的文件中;
|O kE{1S,}0
[root@localhost ~]# /usr/lib/sa/sadc  1 10 sa000
[root@localhost ~]# sar -f sa000

Linux 2.6.15-1.2054_FC5 (localhost.localdomain) 2006年05月12日

09时15分30秒 CPU %user %nice %system %iowait %idle
09时15分31秒 all 3.00 0.00 0.00 1.00 96.00
09时15分32秒 all 0.00 0.00 0.00 0.00 100.00
09时15分33秒 all 0.00 0.00 0.00 0.00 100.00
09时15分34秒 all 0.00 0.00 0.00 0.00 100.00
09时15分35秒 all 0.00 0.00 0.00 0.00 100.00
09时15分36秒 all 0.00 0.00 0.00 0.00 100.00
09时15分37秒 all 0.00 0.00 0.00 0.00 100.00
09时15分38秒 all 0.00 0.00 0.00 0.00 100.00
09时15分39秒 all 0.00 0.00 0.00 0.00 100.00
Average: all 0.33 0.00 0.00 0.11 99.56

IBM DB2 数据库用户社区Oy G,Kv*p ^$a5u!j&{
注解:我们用sadc 收集系统动态数据,让它收集1秒之内的10次动态信息; 然后通过sar 工具来查看系统的状态。也可以用 sadf 来查看所收集的数据,但不是太直观。您自己尝试一下看看。查看sa000文件,用 sadf sa000 ; IBM DB2 数据库用户社区 G'^5D\;~ge W
L"u�t:iek-YiD0 IBM DB2 数据库用户社区#kkA O8qg4[w*[-|!I
3.2 sar 工具;
]3Y @Zi P0
IBM DB2 数据库用户社区Gh%x*Y-J'dT�tzb
IBM DB2 数据库用户社区E"w x&t'@+W
sar 工具比较强大,既能收集系统CPU、硬盘、动态数据,也能显示动态显示,更能查看二进制数据文件;sar 的应用比较多,而且也比较复杂,数据更为精确。我们只了解一下常用的内容就行,大多数内容我们了解就行; IBM DB2 数据库用户社区,a7NW&h _8U K&aR
IBM DB2 数据库用户社区-\FY(yT-}c ?}
用法:
0]/\m+a Ne|0
E \!~]0\(r"k0
sar  [参数选项]
\'r�y aE:^$Q{&U0
~ Nt F[-x?!a0
Mim;aG/L0 参数说明:
2YH^i5l~ n[i&A'~K0
's?&H ur3z9f0
-A  显示所有历史数据,通过读取/var/log/sar 目录下的所有文件,并把它们分门别类的显示出来;
z.S*]!Z4oj2CdyID0-b  通过设备的I/O中断读取设置的吞吐率;
5@%n-\G cy2| f0-B 报告内存或虚拟内存交换统计;IBM DB2 数据库用户社区 GM�Gq8[w:}k:gK
-c 报告每秒创建的进程数;IBM DB2 数据库用户社区d6\@:| hm�J(m
-d 报告物理块设备(存储设备)的写入、读取之类的信息,如果直观一点,可以和p参数共同使用,-dp
w1i*`8{ccW*~*P0-f 从一个二进制的数据文件中读取内容,比如 sar -f filename IBM DB2 数据库用户社区!W"eo5\,f`t1k i
-i interval  指定数据收集的时间,时间单位是秒;
2uc2bz&L)W0-n 分析网络设备状态的统计,后面可以接的参数有 DEV、EDEV、NFS、NFSD、SOCK等。比如-n DEV
['HVy`$aw P0-o 把统计信息写入一个文件,比如  -o filename ;
&q%c!rhI0le#V W;k0-P 报告每个处理器应用统计,用于多处理器机器,并且启用SMP内核才有效;IBM DB2 数据库用户社区$d~1kqw
-p 显示友好设备名字,以方便查看,也可以和-d 和-n 参数结合使用,比如 -dp 或-np IBM DB2 数据库用户社区8YSr1[)ZIGs
-r 内存和交换区占用统计;
_L5o7p~au0-R
bd hl,?o[�NA`)P0-t 这个选项对从文件读取数据有用,如果没有这个参数,会以本地时间为标准 读出;IBM DB2 数据库用户社区k$U \S ` xo/}
-u 报告CPU利用率的参数;
X t [K/Zq s!k;Q l0-v 报告inode, 文件或其它内核表的资源占用信息;IBM DB2 数据库用户社区#pom YkU@
-w 报告系统交换活动的信息; 每少交换数据的个数;IBM DB2 数据库用户社区\'V;Q\+WG
-W 报告系统交换活动吞吐信息;
h~-j%A&xn0-x 用于监视进程的,在其后要指定进程的PID值;IBM DB2 数据库用户社区Jv4pRF
-X 用于监视进程的,但指定的应该是一个子进程ID;
IBM DB2 数据库用户社区R-Y!R&`w$q
IBM DB2 数据库用户社区3u7S0?pmD*x
e] L;~Y V-s'v0 sar 应用举例;
R5T%XC1W0 IBM DB2 数据库用户社区SH D-X2eV
实例一: 如果只用sar 命令,sar就是读取 /var/log/sa目录下最近系统状态文件。
eTV2H%v0
8\#puau$[#W(@0
[root@localhost ~]# sar
;D8qWIb8W0
e(?3uD1D0[root@localhost ~]# sar -A  注:读取/var/log/sa目录下所有文件数据;
C&t`B3M A0 IBM DB2 数据库用户社区@\/D PDz`/O
,\]^ G*~wau0如果我们想知道CPU的利用率;动态更新;下面的例子是每秒更新一次数据,总共更新五次; IBM DB2 数据库用户社区,t?0h0@+h uC
[root@localhost ~]# sar -u  1 5
Linux 2.6.15-1.2054_FC5 (localhost.localdomain) 2006年05月12日

时间 CPU 利用率 nice值 系统占用 IO占用 空闲
11时19分34秒 CPU %user %nice %system %iowait %idle
11时19分35秒 all 2.97 0.00 0.00 0.00 97.03
11时19分36秒 all 11.11 0.00 9.09 0.00 79.80
11时19分37秒 all 21.78 0.00 6.93 0.00 71.29
11时19分38秒 all 15.00 0.00 0.00 0.00 85.00
11时19分39秒 all 8.00 0.00 0.00 0.00 92.00
Average: all 11.78 0.00 3.19 0.00 85.03
IBM DB2 数据库用户社区*Si$E[Iu6r
注解:
"swUr Cz0 IBM DB2 数据库用户社区-N+WT#wo4u]Q)d0\B4i
CPU:表示机器内所有的CPU;
+Ou2]]V0IF c0%user 表示CPU的利用率;
6P$F+_L%^0%nice 表示CPU在用户层优先级的百分比,0表示正常;
B~sdl0%system 表示当系统运行时,在用户应用层上所占用的CPU百分比;
Ocj s3IB*bX0%iowait 表示请求硬盘I/0数据流出时,所占用CPU的百分比;
^r�U ] QdEG3_}0%idle 表示空闲CPU百分比,值越大系统负载越低;
*LZU/@ g1b1V0
_MAP#gz w&ga0您可以CPU利用率的动态信息输出到一个文本文件中,然后通过more 来查看。
5g ReR@1u,? ok!z0 IBM DB2 数据库用户社区�zsM-` R5^
[root@localhost ~]# sar -u  1 5 > sar000.txt IBM DB2 数据库用户社区Vy KI }/uC
[root@localhost ~]# more sar000.txt
IBM DB2 数据库用户社区r7{1|k6H!x;]%y
IBM DB2 数据库用户社区_\M?s0^;|5rd8_
(H i7gg!Z%}0也可以输出到一个二进制的文件中,然后通过sar来查看;
s B|0B$eO0 IBM DB2 数据库用户社区9S v g(Dr\0A6?+}:e
[root@localhost ~]# sar -u  1 5 -o sar002
2S$]/rDrN+V0[root@localhost ~]# sar -f sar002
IBM DB2 数据库用户社区-s9x1`l a!vE1f
IBM DB2 数据库用户社区;A'Q(kF�E cP[{
IBM DB2 数据库用户社区(L b*j%F@-V
注:如果您把数据通过-o filename 输出到一个二进制的文件中,是不能用文件内容查看工具more 、less或cat来查看的,应该用sar工具来查看,要加-f参数;
:Fh4L]w]FW0
gafU Q/v$U:La0 实例二:查看网络设备的吞吐情况;
)C2b `0B-T e/i2KT0
MQ#ga&Sh9Tg0比如我们让数据每秒更新一次,总共更新十次;
Qm t DPMKU7v0 IBM DB2 数据库用户社区F5j/^I*r P i)@-k]
[root@localhost ~]# sar -n DEV  2 5IBM DB2 数据库用户社区�n7hF!QoS!s
时间     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
IBM DB2 数据库用户社区_iA9KQo 7rZ,HyTf9}�Ajq0
第一字段:时间;
IFACE:设备名;
rxpck/s:每秒收到的包;
rxbyt/s:每秒收到的所有包的体积;
txbyt/s:每秒传输的所有包的体积;
rxcmp/s:每秒收到数据切割压缩的包总数;
txcmp/s :每秒传输的数据切割压缩的包的总数;
rxmcst/s: 每秒收到的多点传送的包;
IBM DB2 数据库用户社区.ho^3R"|#Z
如果我们从事提取eth0设备(也就是网卡eth0)的信息;我们应该用grep 来过滤。然后再显示出来; IBM DB2 数据库用户社区d bN�T t N
nIap o}D;x"FK0
[root@localhost ~]# sar -n DEV  2  5  |grep eth0
m3m Nr ?3@:~_j011时52分37秒      eth0  1.00  1.00   97.51   97.51   0.00    0.00      0.00IBM DB2 数据库用户社区X)G"\3m&[5Z }&CH
11时52分39秒      eth0  1.01  1.01   98.49   98.49   0.00    0.00      0.00IBM DB2 数据库用户社区!X c w;N4@i Ri
11时52分41秒      eth0  1.00  1.00   98.00   98.00   0.00    0.00      0.00
va6X&zv&{m Vk*t~f011时52分43秒      eth0  1.00  1.00   98.00   98.00   0.00    0.00      0.00IBM DB2 数据库用户社区7fXI ?,^lG L*|)P
11时52分45秒      eth0  1.00  1.00   98.00   98.00   0.00    0.00      0.00IBM DB2 数据库用户社区uy/dtI
Average:   eth0   1.00  1.00  98.00   98.00   0.00    0.00      0.00
IBM DB2 数据库用户社区,vU-U6qs dT*e!r&t)] epA'b)E+[!d7m0 IBM DB2 数据库用户社区'i?'A4p h'{
如果想知道网络设备错误报告,也就就是用来查看设备故障的。应该用EDEV;比如下面的例子; IBM DB2 数据库用户社区5w'Rd?kQ r
IBM DB2 数据库用户社区0F+~s z| Y&P7OL
[root@localhost ~]# sar -n EDEV  2 5
IBM DB2 数据库用户社区v(~ yyo$u~^+g GjMla0
K4HO�g@&Fg0 IBM DB2 数据库用户社区p-nH4qzO!z
3.3 iostat
9d a S[L0
'xu�R` C Q0 IBM DB2 数据库用户社区lCJG:WGd4P
iostat 是用来显示 系统即时系统,比如CPU使用率,硬盘设备的吞吐率;
;kn5q8r:h2jj$B m-W0
[root@localhost ~]# iostat
Linux 2.6.15-1.2054_FC5 (localhost.localdomain) 2006年05月12日

avg-cpu: %user %nice %system %iowait %idle
7.24 0.00 0.99 0.35 91.43

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
hda 1.46 28.43 21.43 710589 535680
u1T)k_�Im d'x/l0 IBM DB2 数据库用户社区byJ.E[.jV4n%F!B
3.4 mpstat
gS4B*U:xwm{F0
IBM DB2 数据库用户社区 BT"X)EB bK1R6Y
{QBB6jr*|6C+g2~;D0mpstat 提供多处理器系统中的CPU的利用率的统计;mpstat 也可以加参数,用-P来指定哪个 CPU,处理器的ID是从0开始的。下面的例子是查看两个处理器,每二秒数据更新一次,总共要显示10次数据;
*Y-} SC&g8Z!W&l,n _x0 IBM DB2 数据库用户社区3wz9|A@kM0c
[root@localhost ~]# mpstat -P 0 2 10  注:查看第一个CPUIBM DB2 数据库用户社区z EW'a9U B
[root@localhost ~]# mpstat -p 1 2 10  注:查看第二个CPUIBM DB2 数据库用户社区V`-N0yP2Z
</code >
Ai+~ A1xS}a0
yu"j#bi7be'~ {$Gw0<code>IBM DB2 数据库用户社区 ?.pL7Iz Qw2M8KWM1M
[root@localhost ~]# mpstat 2 10  注:查看所有CPU;
5Z)tR4w'x0
e#?H:q4D.o0
uHC J2_JgSu0
6[{}"Z&?,E03.5 sdaf
+F:U}K5v%xor0
Q%n'VI Gan/Fi0 IBM DB2 数据库用户社区_$lM�~$j_5P
sdaf 能从二进制文件中提取sar所收集的数据;这个大家知道就行了。显示的并不是友好的格式;
R4}oqsi0 IBM DB2 数据库用户社区 C.q#}7S _,V7C:B"\*Q@
[root@localhost ~]# sar -u 2 5 -o sar003IBM DB2 数据库用户社区4w1W;EL,w~r
[root@localhost ~]# sadf  sar003
.bK.X6t [g#yn,pK z0 IBM DB2 数据库用户社区W ^)KAqW#v(Gz
$n0M _Q%n&jf?0相对来说,用sar来读取输出文件的内容更好;比如下面的;
!k}0j|!\mR u0 IBM DB2 数据库用户社区 Sbq"j@6M/q/m
[root@localhost ~]# sar -f sar003
O*P*G'pG1H0 IBM DB2 数据库用户社区'gQU QV�y
IBM DB2 数据库用户社区*M6~r6Wp'cJ Pis"CX M'V

,iT f#|{ T#T.L:@04、 与Sysstat相似工具;IBM DB2 数据库用户社区;XDd6z:xn4J#d
IBM DB2 数据库用户社区p mNa0uU
IBM DB2 数据库用户社区v,i;LetD b
IBM DB2 数据库用户社区�b#X8f-Q9o/wv8U
4.1 进程管理工具;
/^9c0i:X(kq%k0
IBM DB2 数据库用户社区!J9Ny)D:z{]H
IBM DB2 数据库用户社区IkLL9t o(]V
进程管理工具,包括ps 、pgrep、top、kill 、killall、pkill 等,请参考 《 Linux 进程管理》 IBM DB2 数据库用户社区*G4G ^#~.S
IBM DB2 数据库用户社区?2YB,^i

%WwxE$fm.UD1z04.2 内存使用率查看工具;IBM DB2 数据库用户社区 c.hA R"K"u
F5Z6s#DHdi;d0
?j6V p+D`0 内存使用量 free IBM DB2 数据库用户社区6V4CFH#T,fr[
'P(XH-aw VR m0free 工具既能查看物理内存,也能查看虚拟内存的用量; IBM DB2 数据库用户社区Fn ?|1t7l*z,i
n r�J7\ NDJ"]0
[root@localhost ~]# free
IBM DB2 数据库用户社区^3?!C;Tw x(t VU(G0~ U0 IBM DB2 数据库用户社区y } L.j(?@
如果显示以单位M,则加-m参数;
ZhAT5TQ0 IBM DB2 数据库用户社区 Mu%aWar-z+|.V
[root@localhost ~]# free -m
Q{.L3i"}0             total       used       free     shared    buffers     cached
tJ-Gd;Yg8}P7s0Mem:           724        713         11          0         24        290
aY[ }:sI0d!s ^CR0-/+ buffers/cache:        398        326
@,Q:|R|!z A_N&WH0Swap:          800          0        800
IBM DB2 数据库用户社区k(H5j+y o�L w v 6mMV.@w4X c�lj0 IBM DB2 数据库用户社区Zm~tjO c

x$L,DOj0vmstat 即时显示内存工具;
9e S6Gp#c$x{Gy,t0
%H6fhq8?*AH!m0
j%`auE3\GM6^N0vmstat 是一个即时显示内存使用情况的工具;
l-z)uLh"C$S @:h.` @0 IBM DB2 数据库用户社区)Q/Y'T5{1v EY
vmstat 使用方法: IBM DB2 数据库用户社区�y/Y-_"HGj"[7F
om4Q:B#q eo0
vmstat [-V] [-n] [delay [count]]
Y.Vl!Cr;^0              -V 显示vmstat的版本;IBM DB2 数据库用户社区:Q%h(nW2J Qo!o
              -n causes the headers not to be reprinted regularly.IBM DB2 数据库用户社区 ~#j;z7\8qo!Y
              -a 显示所有激活和未激活内存的状态;print inactive/active page stats.
*ad(Y5?tn0              -d 显示硬盘统计信息;prints disk statistics
XL`&A/U E0              -D 显示硬盘分区表;prints disk table
{a;Av-r0              -p 显示硬盘分区读写状态等;prints disk partition statisticsIBM DB2 数据库用户社区*emp*U3X$]3U4K
              -s 显示内存使用情况;prints vm table
H.Bc&d9u2l jXi0              -m prints slabinfo
&i$[ W9b,_1y0              -S 定义单位,k K
P;t0w}0f'a1[-_ }:U0              delay 是两次刷新时间间隔;
8H @g M2h/v.`0              单位体积: k:1000 K:1024 m:1000000 M:1048576 (默认是 K)
^I9w,J|0              count 刷新次数;

你可能感兴趣的:(linux,职场,休闲,sysstat)