Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1213437
  • 博文数量: 398
  • 博客积分: 10110
  • 博客等级: 上将
  • 技术积分: 4055
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-23 20:01
个人简介

新博客http://www.cnblogs.com/zhjh256 欢迎访问

文章分类

全部博文(398)

文章存档

2012年(1)

2011年(41)

2010年(16)

2009年(98)

2008年(142)

2007年(100)

我的朋友

分类:

2007-12-25 22:25:37

监视系统性能

工具

·acctcom  进程计账;
 
·busstat    总线硬件计数器;
 
·cpustat    CPU硬件计数器;
 
·iostat              IO & NFS统计;
 
·kstat              显示内核统计;
 
·mpstat     处理器统计;
 
·netstat     网络统计;
 
·nfsstat     NFS服务器统计;
 
·sar         
 
·vmstat     虚拟内存统计;

显示系统性能信息

1.任务

       ·显示虚拟内存统计信息:使用vmstat收集虚拟内存统计信息;

       ·显示系统事件信息:使用vmstat-s选项显示系统事件信息;

       ·显示交换信息:使用vmstat-S显示系统事件信息;

       ·显示每台设备的中断:使用vmstat-i显示每台设备的中断次数;

       ·显示磁盘使用率:使用iostat显示磁盘输入输出统计信息;

       ·显示扩展磁盘统计信息:使用iostat命令和-xtc选项显示扩展磁盘统计信息;

       ·显示磁盘空间信息:df –k显示磁盘空间信息;

2.显示虚拟内存统计信息

r:运行队列的长度;

b:等待I/O被阻塞的进程;

w:在某些时候将被交换出去的空闲进程;

swap:空闲的和未保留的交换区;

free:空闲内存的数量;

re:从cache/free列表回收的数量(KB);

mf:次要的缺页在内存中但没有映射映射的页面;

pi:从文件系统或交换设备调入的数量(KB);

po:调换到文件系统或交换设备的数量(KB);

fr:被释放和摧毁的数量(KB);

de:在写之后被释放的数量(KB);

sr:页扫描/秒;

f0s0s1s2:磁盘0~3的磁盘I/O/秒;

in:中断次数/秒;

sy:系统调用/秒;

cs:上下文切换/秒;

3.显示系统统计事件信息

运行vmstat –s显示自上次引导系统以来发生的系统事件数。

      

4.显示交换统计信息

       运行vmstat –S显示交换统计信息。

si:每秒换入的平均LWP数;

so:换出的完整进程数;

该命令的输出会截断si/so字段的输出,应使用sar命令显示更精确的交换统计信息。

5.显示每台设备的中断次数

       运行vmstat –i以显示每台设备的中断次数:

$ vmstat -i

interrupt               total              rate

--------------------------------

clock             52163269      100

esp0              2600077        4

zsc0              25341            0

audiocs0        0                   0

--------------------------------

Total             55238959      105

6.显示磁盘使用率

      

       第一行显示的是自引导系统以来的统计信息,后面每行显示间隔信息,默认情况下显示终端(tty),磁盘(fd/sd),CPU

       Iostat -n输出中的字段解释

       ·终端:       tin    终端输入队列中的字符数;

tout  终端输出队列中的字符数;

       ·磁盘:       bps  每秒块数;

tps   每秒事务数;

serv 平均服务时间,以每秒为单位;

       ·CPU us    在用户模式下;

                     sy    系统模式下;

wt   等待IO

id     空闲;

7.显示扩展磁盘统计信息

       运行iostat –xtc显示扩展磁盘统计信息。

      

       r/s:每秒读取次数;

       w/s:每秒写入次数;

       kr/s:每秒读取的千字节数;

       kw/s:每秒写入的千字节数;

       wait:等待服务的平均事务数(队列长度);

       actv:出于活动服务状态的的平均事务数;

       svc_t:平均服务时间,以毫秒为单位;

       %w:队列不为空的时间百分比;

       %b:磁盘繁忙的时间百分比;

8.显示磁盘空间信息

       使用df命令可以显示挂载的每个磁盘中的可用磁盘空间量。Df报告的usable磁盘空间只反映容量极限的90%,磁头空间通常保持为空已实现更好的性能。

       如果文件系统容量超过90%,可使用cp命令将文件移到其他位置。或使用tar/cpio移动到磁带。

      

       输出解释:

       kbytes:文件系统中可用空间的总大小;

       used:已用空间量;

       avail:可用空间量;

       capacity:已用空间量,表示总容量的百分比;

       mounted on:挂载点;

 

监视系统活动

1.任务

       ·检查文件访问:使用sar命令和-a选项显示文件访问操作状态;

       ·检查缓冲区活动;使用sar命令和-a选项显示缓冲区状态;

       ·检查系统调用统计信息:使用sar命令和-a选项显示系统调用统计信息;

       ·检查磁盘活动:使用sar命令和-d选项显示磁盘活动;

       ·检查页出和内存:使用sar命令和-g选项显示页出内存释放活动;

       ·检查内核内存分配:使用sar命令和-k选项显示KMA

       ·检查进程间的通信:使用sar命令和-m选项显示进程间的通信;

       ·检查页入活动:使用sar命令和-p选项显示页入活动;

       ·检查队列活动:使用sar命令和-q选项检查一下内容:占用队列时的平均队列长度;占用队列时的实践百分比;

       ·检查未使用的内存:使用sar命令和-r选项报告当前使用的内存页数和交换文件磁盘块数。

       ·检查CPU使用率:使用sar命令和-u选项显示cpu使用率统计信息;

       ·检查系统表状态:使用sar命令和-v选项报告以下系统表状态:进程,inode,文件,内向内存纪录;

       ·检查交换活动:使用sar命令和-w选项显示交换活动;

       ·检查终端活动:使用sar命令和-y选项显示终端活动;

       ·检查系统总体性能:使用sar命令和-A显示系统总体性能;

       ·设置自动数据收集:

         --运行svcadm enable system/sar:default命令;

         --编辑/var/spool/cron/crontabs/sys文件;

2.监视系统活动sar

       使用sar命令可以执行以下任务:

       ·组织并查看有关系统活动的数据;

       ·根据特定请求访问系统活动数据;

       ·生成自动报告以测量和监视性能,并生成特殊请求报告以确定性能问题;

3.检查文件访问

       使用sar –a显示文件访问操作统计信息;

$ sar -a

SunOS balmyday 5.10 s10_51 sun4u 03/18/2004

00:00:00 iget/s       namei/s   dirbk/s

01:00:00 0             3            0

02:00:00 0             3            0

Average 0            3            0

输出解释:

iget/s:对于不位于目录名称查阅高速缓存DNLC中的inode发出的请求数;

namei/s:每秒搜索的文件系统路径数;如果nameiDNLC中找不到目录名称,则调用iget以获取文件/目录的inode

dirbk/s:每秒发生的目录块读数。

值越大,内核访问用户文件时花费的时间越多,时间的长短反映了应用程序使用文件系统的程度。

4.检查缓冲区活动

       使用sar –b可以显示缓冲区活动统计信息。

       缓冲区用于存储高速缓存元数据,包括inode、驻面组块和间接块。

bread/s:从磁盘提交至高速缓存存储区的每秒平均读取数;

lread/s:每秒从高速缓存存储区进行的平均逻辑读取数;

%rcache:在高速缓存存储区找到的逻辑读取的分数(100%-bread/slread/s);

bwrit/s:每秒平均从高速缓存存储区写入磁盘的物理块数(512块);

lwrit/s:每秒平均对高速缓存存储区进行的逻辑写入数;

%wcache:在高速缓存存储区找到的逻辑写入的分数(100%-bread/slread/s);

pread/s:每秒平均使用字符设备接口的物理读取数;

pwrit/s:每秒平均使用字符设备接口的物理写入请求数;

最重要的两项是%rcache%wcache,如果%rcache小于90%或者%wcache小于65%,可通过增加缓冲区来改善性能。

5.检查系统调用统计信息

       使用sar –c显示系统调用统计信息。

$ sar -c

00:00:00        scall/s     sread/s   swrit/s    fork/s     exec/s    rchar/s   wchar/s

01:00:00        38          2            2            0.00       0.00       149               120

       输出说明如下:

       scall/s:每秒钟所有类型的系统调用数,通常每个用户每秒5-6次;

       sread/s:每秒钟read系统调用数;

       swrit/s:每秒钟write系统调用数;

fork/s:每秒钟fork系统调用数;

exec/s:每秒钟exec的系统调用数,如果exec/s除以fork/s大于3,检查是否存在无效的PATH变量;

rchar/s:每秒钟由read系统调用传送的字符数;

wchar/s:每秒钟由write系统调用传送的字符数;

6.检查磁盘活动统计信息

       使用sar –d命令检查磁盘活动统计信息。

$ sar -d

SunOS balmyday 5.10 s10_51 sun4u 03/18/2004

12:36:32 device     %busy    avque     r+w/s     blks/s     avwait    avserv

12:40:01 dad1        15          0.7         26          399               18.1       10.0

       输出解释如下:

       device:监视的磁盘设备的名称;

       %busy:设备忙于为传送请求服务的时间份额;

       avque:设备忙于为传送请求服务期间的平均请求数;

       r+w/s:每秒对设备进行读取和写入的传送数;

       blks/s:每秒传送给设备的512字节块的数量;

       avwait:传送请求在队列中空闲等待的平均时间,以毫秒为单位;

       Avserv:设备完成传送请求所需的时间,以毫秒为单位;

       在队列不为空时测量队列长度和等待时间。当%busy很小时,如果队列和服务时间很长,则可能表示系统进行周期性的努力,以确保将警报块快速写入磁盘。

7.检查页出和内存释放情况

       使用sar –g命令显示平均页出和内存释放情况。

$ sar -g

00:00:00 pgout/s    ppgout/s        pgfree/s pgscan/s        %ufs_ipf

01:00:00 0.00        0.00       0.00       0.00      0.00

02:00:00 0.01        0.01       0.01       0.00       0.00

       sar –g命令的输出可以明确指示是否需要更多的内存。Ps –elf显示page守护程序使用的周期数,如果周期很大并且pgfree/spgscan/s也很大,则表明内存不足。

       输出解释如下:

       pgout/s:每秒的页出请求数;

       ppgout/s:每秒调出的页的实际数量。单个页出请求可能涉及到到多个页的调出。

       pgfree/s:每秒放置在可用列表中的页数;

       pgscan/spage守护进程每秒扫描的页数。该值如果很大,表明需要更多的内存;

       %ufs_ipf:如果该值很大,表明inode的可用列表页面密集,并且可能需要增加ufs inode的数量。

8.检查内核内存分配(通常不需要)

       KMA允许内核子系统根据需要分配和释放内存。KMA并不是静态的分配在峰值负载下的最大内存值,而是将内存请求分为三个类别:

       ·小型:小于256个字节;

       ·大型:512-4K

       ·超大型:大于4K

       KMA保留两个内存池,以满足大型和小型的请求,超大型的请求通过系统页面分配器中分配内存来满足。

$ sar -k

SunOS balmyday 5.10 s10_51 sun4u 03/18/2004

00:00:04 sml_mem  alloc         fail   lg_mem  alloc      fail ovsz_alloc    fail

01:00:00 6119744   4852865      0     60243968 54334808 156 9666560       0

02:00:01 6119744   4853057      0     60243968 54336088 156 9666560       0

       输出解释如下:

       sml_memKMA在小型内存请求池中可用的内存量,以字节为单位;

       allocKMA已从其小型内存请求池向小型内存请求分配的内存量,以字节为单位;

       fail:请求少量内存并且请求失败的数量;

       lg_memKMA在大型内存请求池中可用的内存量,以字节为单位;

       allocKMA已从其大型内存请求池向小型内存请求分配的内存量,以字节为单位;

       fail:请求大量内存并且请求失败的数量;

       ovsz_alloc:为大于4K的超大型请求分配的内存量;

       fail:请求超大量内存并且请求失败的数量;

9.检查进程间通信

       使用sar –m报告进程间通信活动。

       $ sar -m

00:00:00 msg/s sema/s

01:00:00 0.00 0.00

Average 0.00 0.00

       除非使用消息或信号的应用程序,否则这些数字通常为0.

       输出解释如下:

       msg/s:每秒的消息操作数;

       sema/s:每秒的信号操作数;

10.检查页入活动

       使用sar –p报告页入活动,包括保护和转换错误。

       $ sar -p

00:00:00 atch/s      pgin/s     ppgin/s   pflt/s      vflt/s      slock/s

01:00:00 0.07        0.00       0.00       0.21       0.39       0.00

11:00:00 3.36        0.87       1.35        3.92       15.12     0.00

Average 0.42         0.22       0.31       1.45       4.00       0.00

       输出解释如下:

       atch/s:每秒通过回收在内存中的页来满足的页面错误数(每秒附加数)。

       pgin/s:文件系统每秒接收页入请求的次数。

ppgin/s:每秒调进的页数,单个页入请求可能涉及多个页面调入。

pflt/s:因保护错误引起的页面错误数。保护错误实例表明非法访问页面和写复制。

vflt/s:每秒的地址转换叶面错误数。

slock/s:每秒内由要求实际io操作的软件锁定请求引起的错误数。

11.检查队列活动

       使用sar –q命令报告如下信息:

       ·队列被占用时的平均队列长度;

       ·队列处理占用状态的时间百分比;

       $ sar -q

00:00:00 runq-sz %runocc

01:00:00 1.0 0

02:00:01 1.3 0

03:00:00 1.0 0

       如果%runocc较大(>90%)并且runq-sz大于2,则表明CPU负载大,并且相应慢,此时需要提供更多的CPU才能获得可接受的系统响应速度。

       输出解释如下:

       runq-sz:内存中等待CPU以便运行的内核线程数。通常不大于2,否则可能是CPU限制;

       %runocc:占用分发队列的时间百分比;

12.检查未使用的内存

       使用sar –r命令报告当前未使用的内存数和交换文件磁盘块数。

       $ sar -r

00:00:00 freemem freeswap

01:00:00 2135 401922

       输出解释如下:

       freemem:可用用户进程使用的平均内存页数;

       freeswap:用于页交换的512字节磁盘块数;

13.检查CPU使用率

       使用sar –u显示CPU使用率信息。

$ sar -u

00:00:00 %usr %sys %wio %idle

01:00:00 0 0 0 100

       %wio的值越大,表明磁盘速率越慢。

14.检查系统表状态

       使用sar –v命令报告进程表,inode表,文件表和共享内存记录表的状态。

       $ sar -v

SunOS balmyday 5.10 s10_51 sun4u 03/18/2004

00:00:04 proc-sz ov inod-sz ov file-sz ov lock-sz

01:00:00 69/8010 0 3476/34703 0 0/0 0 0/0

02:00:01 69/8010 0 3476/34703 0 0/0 0 0/0

       这些表都基于物理内存量进行分配。

       输出解释如下:

       proc-sz:内核中正在使用或以分配的进程项数;

       inod-sz:与内核中分配的最大inode节点相比,内存中的inode总数;

       file-sz:打开的系统文件标的大小;

       ov:在每个表的采样点之间发生的溢出;

       lock-sz:内核中当前正在使用或分配的共享内存记录表的数量。

15.检查交换活动

       使用sar –w报告系统的交换和切换活动。

       $ sar -w

00:00:00 swpin/s bswin/s swpot/s bswot/s pswch/s

01:00:00 0.00 0.0 0.00 0.0 22

       输出解释:

       swpin/s:每秒传入内存的LWP数;

       bswin/s:每秒为换入传送的块数;

       swpot/s:每秒缓存内存的平均进程数,如果该值大于1

       bswot/s:每秒为换出传送的块数;

       pswch/s:每秒的内核线程切换数;

16.检查终端活动

       使用sar –y命令监视终端设备活动。

$ sar -y

SunOS balmyday 5.10 s10_51 sun4u 03/18/2004

00:00:04 rawch/s   canch/s outch/s   rcvin/s    xmtin/s   mdmin/s

01:00:00 0             0            0            0            0            0

02:00:01 0             0            0            0            0            0

       如果有多个终端I/O可用该命令确定是否存在错误行。输出解释如下:

       rawch/s:每秒输入的字符数;

       canch/s:每秒处理的输入字符;

       outch/s:每秒输出字符数;

       rcvin/s:每秒接收器硬件中断次数;

       xmtin/s:每秒传送器硬件中断次数;

       mdmin/s:每秒调制解调器中断次数;

17.检查总体统计性能

       使用sar –A显示所有选项的统计信息,以提供总体系统性能的视图;

阅读(681) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~