分类: LINUX
2012-05-23 11:12:10
systat以全屏幕方式显示各种统计信息,
缺省情况下systat是报告处理器的使用率,包 括总利用状态、空闲使用率和各个进程的使用率。
通过指定参数,systat也能进行I/O的统计、虚存的统计、网络的 统计等,这些参数包括-iostat, -vmstat, -mbufs, -netstat, -ip, -icmp, -tcp, -swap等
pstat 分析
pstat能显示系统中打开的文件数量、交换设备的使用率等系统信息。
pstat缺省使用/dev/mem设 备文件,从系统内存中读取这些数据,或者可以指定一个core文件,那么pstat从这个文件中读取数据。
还需要给pstat 一个参数来告诉pstat应该显示那种系统信息,通常使用 “pstat -f” 显示出当前打开文件的列表 , “pstat -s” 显示交换设备的当前状态, “pstat -t” 显示当前使用的终端设备文件的状态, “pstat -v” 显示激活的v节点的当前状态。 “pstat -T” 显示这几个系统表的状态,包括当前使用 的和可以利用的系统表空间,因此可以用来检查系统在当前负载下是使用多大的系统表,帮助进行优化系统性能。
$ pstat -T
69/8232 files
4M/137M swap space
load average分析
在Linux系统中,uptime、w、top等命令都会有系统平均负载load average的输出,那么什么是系统平均负载呢?
系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树。如果一个进程满足以下条件则其就会位于运行队列中:
- 它没有在等待I/O操作的结果
- 它没有主动进入等待状态(也就是没有调用'wait')
- 没有被停止(例如:等待终止)
例如:
[root@www2 init.d]# uptime
7:51pm up 2 days, 5:43, 2 users, load average: 8.13, 5.90, 4.94
命令输出的最后内容在过去的1、5、15分钟内运行队列中的平均进程数量。
一般来说只要每个CPU的当前活动进程数不大于3那么系统的性能就是良好的,如果每个CPU的任务数大于5,那么就表示这台机器的性能有严重问题。对
于上面的例子来说,假设系统有两个CPU,那么其每个CPU的当前任务数为:8.13/2=4.065。这表示该系统的性能是可以接受的
vmstat详解
vmstat 是用来实时查看内存使用情况,反映的情况比用top直观一些.
如果直接使用,只能得到当前的情况,最好用个时间间隔来采集
vmstat T 其中T用具体的时间标示,单位是 秒 例如:vmstat 5 表格每隔5秒采集一次.
这样在刷新的时候就能比较系统的看到那个列不正常的
procs:
r-->;在运行队列中等待的进程数
b-->;在等待io的进程数
w-->;可以进入运行队列但被替换的进程
memoy
swap-->;现时可用的交换内存(k表示)
free-->;空闲的内存(k表示)
pages
re--》回收的页面
mf--》非严重错误的页面
pi--》进入页面数(k表示)
po--》出页面数(k表示)
fr--》空余的页面数(k表示)
de--》提前读入的页面中的未命中数
sr--》通过时钟算法扫描的页面
disk 显示每秒的磁盘操作。 s表示scsi盘,0表示盘号
fault 显示每秒的中断数
in--》设备中断
sy--》系统中断
cy--》cpu交换
cpu 表示cpu的使用状态
cs--》用户进程使用的时间
sy--》系统进程使用的时间
id--》cpu空闲的时间
其中:
如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。
如果pi,po 长期不等于0,表示内存不足。
如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好。
与vmstat类似的命令还有,
fstat报告系统中打开文件的信息,可以使用文件名、进程号、用户名, 以及指定文件所在的文件系统来限制要显示的文件。
iostat报告内核的输入输出统计信息,包括磁盘、终端等设备的I/O 状态。
netstat报告网络的有关统计信息。
nfsstat显示NFS的统计信息。