导航新进会员
在线用户目前共有 0 位用户和 3 位游客在线。
|
系统状态查看工具Sysstat作者:北南南北 目录
2、安装 Sysstat;
Sysstat 是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如CPU使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于我们判断系统是否正常运行,是提高系统运行效率、安全运行服务器的得力助手;
* iostat 工具提供CPU使用率及硬盘吞吐效率的数据;
对于大多数系统,都有这个软件包,软件名以sysstat开头。我们可以通过网络安装它;
[root@localhost ~]# apt-get install sysstat
[root@localhost ~]# yum install sysstat 如果是RPM包,请用下面的命令来安装; [root@localhost ~]#rpm -ivh sysstat*.rpm 如果您想了解yum 和rpm 软件包管理工具,请参考:《Fedora / Redhat 软件包管理指南》
[root@localhost ~]# installpkg sysstat*.pkg
如果您是通过源码包安装,请到官方下源源码包 http://perso.wanadoo.fr/sebastien.godard,目前最新版本是 sysstat-6.1.2; 如果您想了想一下什么是源码包,请参考:《如何编译安装源码包软件》 [root@localhost ~]# tar zxvf sysstat-6.1.2.tar.gz
如果您想得到Sysstat工具集所收集的系统信息自动存为某个文件中,你必须通过cron 为 sa1 和sa2 做计划任务。我们可以通过修改用户的crontab。在默认的情况下,Sysstat历史信息将被存放在/var/log/sa文件中。如果想定义自己的计划任务,请参考:《计划任务工具 cron 的配置和说明》 在root用户,通过 crontab -e 来添加下面的一段; # 8am-7pm activity reports every 10 minutes during weekdays创建Sysstat的启动脚本; [root@localhost ~]# touch /etc/rc.d/init.d/sysstat #!/bin/sh[root@localhost ~]# chmod 755 /etc/rc.d/init.d/sysstat有了Sysstat的守护进程,这样我们开机后,Sysstat的守护进程,就时时刻刻的为我们服务了。sa 、sa1或sa2自动把信息存在 /var/log/sa目录的二进制文件中,我们可以通过sar工具来提取这些系统信息的历史; 当然我们也可以通过手动的方法来打开Sysstat的守护程序,也就是我们前面所制作的sysstat; [root@localhost ~]# /etc/rc.d/init.d/sysstat start
sadc 位于 /usr/lib/sa目录中,如果你没有设置可执行路径,要用绝对路径来运行比较方便 ,/usr/lib/sa/sadc;sadc 是把数据写在一个二进制的文件中,如果想查看数据内容,需要用sadf工具来显示;
/usr/lib/sa/sadc [ -d ] [ -F ] [ -I ] [ -L ] [ -V ] [ interval [ count ] ] [ outfile ]参数说明: -d 报告硬盘设置的相关统计;注意:此工具中的参数都是可选的,如果没有指定任何参数,比如 /usr/lib/sa/sadc - ,则会输出数据到 /var/log/sa/ 目录下的一个文件中。我们要通过sadf 或sar工具来查看; [root@localhost beinan]# /usr/lib/sa/sadc - 举例:我们想把sadc收集到的数据写到一个指定的文件中; [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 注解:我们用sadc 收集系统动态数据,让它收集1秒之内的10次动态信息; 然后通过sar 工具来查看系统的状态。也可以用 sadf 来查看所收集的数据,但不是太直观。您自己尝试一下看看。查看sa000文件,用 sadf sa000 ;
sar 工具比较强大,既能收集系统CPU、硬盘、动态数据,也能显示动态显示,更能查看二进制数据文件;sar 的应用比较多,而且也比较复杂,数据更为精确。我们只了解一下常用的内容就行,大多数内容我们了解就行; 用法: sar [参数选项]参数说明: -A 显示所有历史数据,通过读取/var/log/sar 目录下的所有文件,并把它们分门别类的显示出来;sar 应用举例; 实例一: 如果只用sar 命令,sar就是读取 /var/log/sa目录下最近系统状态文件。 [root@localhost ~]# sar如果我们想知道CPU的利用率;动态更新;下面的例子是每秒更新一次数据,总共更新五次; [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 注解: CPU:表示机器内所有的CPU; 您可以CPU利用率的动态信息输出到一个文本文件中,然后通过more 来查看。 [root@localhost ~]# sar -u 1 5 > sar000.txt 也可以输出到一个二进制的文件中,然后通过sar来查看; [root@localhost ~]# sar -u 1 5 -o sar002 注:如果您把数据通过-o filename 输出到一个二进制的文件中,是不能用文件内容查看工具more 、less或cat来查看的,应该用sar工具来查看,要加-f参数; 实例二:查看网络设备的吞吐情况; 比如我们让数据每秒更新一次,总共更新十次; [root@localhost ~]# sar -n DEV 2 5第一字段:时间; IFACE:设备名; rxpck/s:每秒收到的包; rxbyt/s:每秒收到的所有包的体积; txbyt/s:每秒传输的所有包的体积; rxcmp/s:每秒收到数据切割压缩的包总数; txcmp/s :每秒传输的数据切割压缩的包的总数; rxmcst/s: 每秒收到的多点传送的包; 如果我们从事提取eth0设备(也就是网卡eth0)的信息;我们应该用grep 来过滤。然后再显示出来; [root@localhost ~]# sar -n DEV 2 5 |grep eth0如果想知道网络设备错误报告,也就就是用来查看设备故障的。应该用EDEV;比如下面的例子; [root@localhost ~]# sar -n EDEV 2 5
iostat 是用来显示 系统即时系统,比如CPU使用率,硬盘设备的吞吐率;
[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
mpstat 提供多处理器系统中的CPU的利用率的统计;mpstat 也可以加参数,用-P来指定哪个 CPU,处理器的ID是从0开始的。下面的例子是查看两个处理器,每二秒数据更新一次,总共要显示10次数据; [root@localhost ~]# mpstat -P 0 2 10 注:查看第一个CPU
sdaf 能从二进制文件中提取sar所收集的数据;这个大家知道就行了。显示的并不是友好的格式; [root@localhost ~]# sar -u 2 5 -o sar003相对来说,用sar来读取输出文件的内容更好;比如下面的; [root@localhost ~]# sar -f sar003
进程管理工具,包括ps 、pgrep、top、kill 、killall、pkill 等,请参考 《 Linux 进程管理》
内存使用量 free free 工具既能查看物理内存,也能查看虚拟内存的用量; [root@localhost ~]# free如果显示以单位M,则加-m参数; [root@localhost ~]# free -m
vmstat 是一个即时显示内存使用情况的工具; vmstat 使用方法: vmstat [-V] [-n] [delay [count]]
我在2004年10月30日,写过一篇Sysstat 的文章 ,当时也并没有把Sysstat搞的太清楚,只是会简单的操作,原文可参见《系统维护常用工具sysstat》。 今天重写此文,主要是以前写的比较差,所以对一些参数进行了测试、考证,我想这样应该对新手方便一点。 本文也并不是大而全的man ,有些参数怎么理解,还得依靠我们自己。我认为掌握一些常用的参数就行,没有必要把一个命令研究的多透彻。有些东西,如果我们用不着,学了也没有什么用,这就是学为所用吧。
|
最新评论
1 周 3 天 前
1 周 3 天 前
2 周 2 天 前
2 周 4 天 前
2 周 5 天 前
2 周 5 天 前
3 周 4 天 前
4 周 1 天 前
4 周 2 天 前
4 周 6 天 前