已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
各种UNIX平台下vmstat与iostat输出结果详解_学习之用 各种unix平台下iostat与vmstst说明 一点个人积累,共享出来!Linux下vmstat输出释疑: Vmstatprocs -memory- -swap- -io- -system- -cpu-r b swpd free buff cache si so bi bo in cs us sy id wa0 0 100152 2436 97200 289740 0 1 34 45 99 33 0 0 99 0procsr 列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。cpu 表示cpu的使用状态us 列显示了用户方式下所花费 CPU 时间的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。sy 列显示了内核进程所花费的cpu时间的百分比。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。wa 列显示了IO等待所占用的CPU时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。 id 列显示了cpu处在空闲状态的时间百分比 system 显示采集间隔内发生的中断数in 列表示在某一时间间隔中观测到的每秒设备中断数。cs列表示每秒产生的上下文切换次数,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。memoryswpd 切换到内存交换区的内存数量(k表示)。如果swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常 free 当前的空闲页面列表中内存数量(k表示) buff 作为buffer cache的内存数量,一般对块设备的读写才需要缓冲。 cache: 作为page cache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好。 swapsi 由内存进入内存交换区数量。so由内存交换区进入内存数量。 IObi 从块设备读入数据的总量(读磁盘)(每秒kb)。bo 块设备写入数据的总量(写磁盘)(每秒kb)这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。Solairs系统下vmstat输出释疑vmstat 5 5procs memory page disk faults cpur b w swap free re mf pi po fr de sr s1 s1 - - in sy cs us sy id0 0 0 704968 207640 0 1 2 0 0 0 0 0 0 0 0 302 6 31 0 0 1000 0 0 705048 206728 1 2 0 0 0 0 0 0 0 0 0 302 4 34 0 0 1000 0 0 705048 206728 0 0 0 0 0 0 0 0 0 0 0 302 3 35 0 0 1000 0 0 705048 206728 0 0 0 0 0 0 0 0 0 0 0 301 3 34 0 0 1000 0 0 705048 206728 0 0 0 0 0 0 0 0 0 0 0 302 6 35 0 0 100procsr 列表示在运行队列中等待的进程数。b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。w 列表示可以进入运行队列但被交换出来的进程 cpu 表示cpu的使用状态us 列显示了用户方式下所花费 CPU 时间的百分比。一个 UNIX 进程可以在用户方式下执行,也可以在系统(内核)方式下执行。当在用户方式下时,进程在它自己的应用程序代码中执行,不需要内核资源来进行计算、管理内存或设置变量。sy 列详述了 CPU 在系统方式下执行一个进程所花时间的百分比。这包括内核进程(kprocs)和其它需要访问内核资源的进程所消耗的 CPU 资源。如果一个进程需要内核资源,它必须执行一个系统调用,并由此切换到系统方式从而使该资源可用。例如,对一个文件的读或写操作需要内核资源来打开文件、寻找特定的位置,以及读或写数据,除非使用内存映射文件。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。id 列显示了没有未决本地磁盘 I/O 时 CPU 空闲或等待的时间百分比。 faults 显示采集间隔内发生的中断数in 列表示在某一时间间隔中观测到的每秒设备中断数。iostat命令输出更有参考意义。sy 列表示在某一时间间隔中观测到的每秒系统调用次数。通过明确的系统调用,用户进程可以使用资源。这些调用指示内核执行调用线程的操作,并在内核和该进程之间交换数据。因为工作负载和应用程序变化很大,不同的调用执行不同的功能,所以不可能定义每秒钟有多少系统调用才算太多。这里设置参考值为10000,超过10000,用户需要注意。cs 列表示,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。memoryswap 当前可用内存交换区容量(k表示)。free 当前的空闲页面列表中内存数量(k表示) pagere 列表示回收的页面数。mf 列表示小级别错误计数。pi 列表示进入页面数 (k表示)。po 列表示出页面数(k表示)。fr 列表示空余的页面数(k表示)。de 列表示提前读入的页面中的未命中数。sr 列表示通过时钟算法扫描的页面计数 solairs下iostat释疑iostat -xtc 5 2extended device statistics tty cpudevice r/s w/s kr/s kw/s wait actv svc_t %w %b tin tout us sy wt idsd1 0.3 0.0 3.4 0.1 0.0 0.0 13.2 0 0 0 0 0 0 0 100sd15 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0nfs1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0extended device statistics tty cpudevice r/s w/s kr/s kw/s wait actv svc_t %w %b tin tout us sy wt idsd1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 77 0 0 0 100sd15 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0nfs1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0tty和CPU使用率报告tin 显示了系统为所有 tty 读取的字符总数。tout 显示了系统为所有 tty 写入的字符总数。us 显示了在用户级应用程序在缺省的优先级别执行时的 CPU 使用率百分比。sy 显示了在用户级应用程序在降低优先级执行时的 CPU 使用率百分比。wt 显示了在系统级(内核)执行时生成的 CPU 使用率。id 显示了 CPU 空闲期间系统有未完成的磁盘 I/O 请求时的时间百分比。磁盘使用率报告device 被统计的硬盘设备名,包括nfs设备。r/s 表示每秒钟读的次数w/s 表示每秒钟写的次数kr/s 表示每秒钟读的K字节数kw/s 表示每秒钟写的K字节数wait 表示平均多少个传输等待被处理,相当于读写等待队列长度 actv 表示平均多少个传输从读写等待队列中移出做处理 svc_t 表示每次硬盘传输平均耗费的时间,以毫秒为单位,这里我们设置的参考值为30ms,超过说明硬盘负载太多 %w 表示每次传输所消耗时间里面,等待所占的百分比 %b 表示硬盘忙的时间所占百分比,这里我们设置参考值为5%,超过5%说明硬盘负载太多,最好采取以下步骤:1.)调整应用,令其使用磁盘i/o更加有效率,可以通过修改磁盘队列、使用应用服务器的cache 2.)将文件系统分布到2个或多个磁盘上,并使用volume manager/disksuite的条带化特点 3.) 增加系统参数值,如inode cache , ufs_ninode。AIX下vmstat释疑:# vmstat 5 20kthr memory page faults cpu- - - - -r b avm fre re pi po fr sr cy in sy cs us sy id wa1 1 244528 1227 0 3 3 56 151 0 404 1420 1415 4 2 88 62 6 244538 1241 0 39 148 2424 3511 0 904 4660 7571 49 12 2 385 3 244540 791 0 2 221 3937 6077 0 1183 6605 24619 44 34 1 211 7 245326 1009 0 11 331 1071 1934 0 884 3788 13000 23 25 0 52分析如下:kthrkthr列表示每秒钟在采样间隔时间上对各种队列中的内核线程数求得的平均值r 列表示可运行的内核线程平均数,包括正在运行的线程和正在等待 CPU的线程。如果这个数字大于 CPU 的数目,至少有一个线程要等待 CPU,等待 CPU 的线程越多,越有可能对性能产生影响。b 列表示每秒 VMM 等待队列中的内核线程平均数。这包括正在等待文件系统 I/O 的线程,或由于内存装入控制而暂挂的线程。这里参考值为2,大于2表示被阻塞列线程数目太多。 b !阻塞线程数目太多CPUus 列显示了用户方式下所花费 CPU 时间的百分比。一个 UNIX 进程可以在用户方式下执行,也可以在系统(内核)方式下执行。当在用户方式下时,进程在它自己的应用程序代码中执行,不需要内核资源来进行计算、管理内存或设置变量。sy 列详述了 CPU 在系统方式下执行一个进程所花时间的百分比。这包括内核进程(kprocs)和其它需要访问内核资源的进程所消耗的 CPU 资源。如果一个进程需要内核资源,它必须执行一个系统调用,并由此切换到系统方式从而使该资源可用。例如,对一个文件的读或写操作需要内核资源来打开文件、寻找特定的位置,以及读或写数据,除非使用内存映射文件。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。id 列显示了没有未决本地磁盘 I/O 时 CPU 空闲或等待的时间百分比。wa 列详细显示了暂挂本地磁盘 I/O 和 NFS 加载的磁盘的 CPU 空闲百分比。这里参考值为25%,大于25% 可能表示磁盘子系统可能没有被正确平衡,或者这也可能是磁盘密集工作负载的结果。 us+sy !IO不平衡wa 正常faultin 列表示在某一时间间隔中观测到的每秒设备中断数。iostat命令输出更有参考意义。sy 列表示在某一时间间隔中观测到的每秒系统调用次数。通过明确的系统调用,用户进程可以使用资源。这些调用指示内核执行调用线程的操作,并在内核和该进程之间交换数据。因为工作负载和应用程序变化很大,不同的调用执行不同的功能,所以不可能定义每秒钟有多少系统调用才算太多。这里设置参考值为10000,超过10000,用户需要注意。cs 列表示,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。sy 正常memoryavm 列表示在收集 vmstat 样本时存在的活动虚拟内存页面数(4k为单位)。理想情况下, avm 应该比总 RAM 数小。如果不是,可能会出现一些虚拟内存页面调度量。有多少页面调度发生取决于两个值之间的差值。记住,虚拟内存的概念是提供给我们寻址大于实内存容量的能力(一些在 RAM 内存中,而另一些在调页空间中)。但是如果虚拟内存远大于实内存,可能造成过度的页面调度,从而导致延时。如果 avm 小于 RAM,那么当 RAM 中填满文件页时就会引起调页空间的页面调度。这种情况下,调整 minperm、maxperm 和 maxclient 的值可以减少调页空间的页面调度量。fre 列显示出空闲内存页面的平均数量(4k为单位)。VMM 在空闲列表上保存的最少页面数由 minfree 参数决定。这里的参考值为maxfree的缺省值720,小于720说明存在内存系统颠簸。 fre 正常avm avm的值约为:958MBpagepi 列详细描述了从调页空间调入的页数。调页空间是驻留在磁盘上的虚拟内存的一部分。当内存过量使用时,它用作溢出。调页空间由用于存储从实内存中窃取到的工作组页面的逻辑卷组成。当进程访问一个窃取页时,产生了一个缺页故障,这一页必须从调页空间读入内存。这里设置pi的参考值为5,大于5说明内存不足。po 列显示了调出到调页空间的页面数(速率)。无论什么时候窃取工作存储器的一页,如果它仍未驻留在调页空间中或已被修改,那它会被写入调页空间。如果不被再次访问,它会留在页面调度设备中直到进程终止或放弃空间。如果包含在出故障页面中的后续地址引用导致缺页故障,那么这些页面将会由系统个别调进。当一个进程正常终止,任何分配给该进程的调页空间将被释放。fr 列表示在一定时间间隔内根据页面替换算法每秒所释放的页数。当 VMM 页面替换例程扫描页面帧表(Page Frame Table,PFT)时,它使用一些条件选取要窃取的页面以插入到可用内存帧的空闲列表中。sr 列表示在一定时间间隔内根据页面替换算法每秒所检查的页面数。页面替换算法在可以窃取足够的页面以满足页面替换线程的需要之前可能不得不扫描许多页面帧。cy 列表示每秒页面替换代码扫描了 PFT 多少次。因为插入空闲列表可以不需要完全扫描 PFT,并且因为所有的 vmstat 字段报告为整数,这一字段通常为 0。这里设置fr:sr的参考值为3,超过说明内存不足。 pi !存在内存不足fr:sr 正常AIX命令iostat释疑# iostat hdisk1 hdisk2 5 5tty: tin tout avg-cpu: % user % sys % idle % iowait0.0 0.3 0.2 0.4 99.4 0.1Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk2 0.1 1.0 0.2 45090 51075hdisk1 0.0 0.0 0.0 0 0tty: tin tout avg-cpu: % user % sys % idle % iowait0.0 70.6 45 54 99.4 0.0Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk2 0.0 0.0 0.0 0 0hdisk1 0.0 0.0 0.0 0 0tty: tin tout avg-cpu: % user % sys % idle % iowait0.0 70.6 0.0 0.4 99.6 0.0Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk2 0.0 0.0 0.0 0 0hdisk1 0.0 0.0 0.0 0 0分析结果tty和CPU使用率报告tin 显示了系统为所有 tty 读取的字符总数。tout 显示了系统为所有 tty 写入的字符总数。% user 显示了在用户级(应用程序)执行时生成的 CPU 使用率百分比。% sys 显示了在系统级(内核)执行时生成的 CPU 使用率百分比。% idle 显示了在 CPU 空闲并且系统没有未完成的磁盘 I/O 请求时的时间百分比。% iowait 显示了 CPU 空闲期间系统有未完成的磁盘 I/O 请求时的时间百分比。user+sys !CPU能力不足wait 正常磁盘使用率报告% tm_act 表示物理磁盘处于活动状态的时间百分比(驱动器的带宽使用率)。Kbps 表示以 KB 每秒为单位的传输(读或写)到驱动器的数据量。tps 表示每秒钟输出到物理磁盘的传输次数。一次传输就是一个对物理磁盘的 I/O 请求。多个逻辑请求可被并为对磁盘的一个单一 IO 请求。传输具有不确定的大小。Kb_read 读取的 KB 总数。Kb_wrtn 写入的 KB 总数。磁盘负载均衡评估 正常带宽使用评估 带宽值为:0KbpsHp-UNIX 命令vmstat释疑# vmstat 5 5procs memory page faults cpur b w avm free re at pi po fr de sr in sy cs us sy id2 0 0 52260 24324 9 4 0 0 0 0 1 109 427 81 2 1 972 0 0 52260 24285 0 0 0 0 0 0 0 110 207 90 0 0 991 0 0 56211 24285 0 0 0 0 0 0 0 106 192 80 0 0 1001 0 0 56211 24285 0 0 0 0 0 0 0 107 152 76 0 0 1002 0 0 56552 24285 0 0 0 0 0 0 0 106 154 72 0 0 100分析结果procsr 列表示在运行队列中等待的进程数。b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。w 列表示可以进入运行队列但被交换出来的进程 。b 正常cpu 表示cpu的使用状态us 列显示了用户方式下所花费 CPU 时间的百分比。一个 UNIX 进程可以在用户方式下执行,也可以在系统(内核)方式下执行。当在用户方式下时,进程在它自己的应用程序代码中执行,不需要内核资源来进行计算、管理内存或设置变量。sy 列详述了 CPU 在系统方式下执行一个进程所花时间的百分比。这包括内核进程(kprocs)和其它需要访问内核资源的进程所消耗的 CPU 资源。如果一个进程需要内核资源,它必须执行一个系统调用,并由此切换到系统方式从而使该资源可用。例如,对一个文件的读或写操作需要内核资源来打开文件、寻找特定的位置,以及读或写数据,除非使用内存映射文件。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。id 列显示了没有未决本地磁盘 I/O 时 CPU 空闲或等待的时间百分比。 us+sy 正常fault 显示采集间隔内发生的中断数in 列表示在某一时间间隔中观测到的每秒设备中断数。iostat命令输出更有参考意义。sy 列表示在某一时间间隔中观测到的每秒系统调用次数。通过明确的系统调用,用户进程可以使用资源。这些调用指示内核执行调用线程的操作,并在内核和该进程之间交换数据。因为工作负载和应用程序变化很大,不同的调用执行不同的功能,所以不可能定义每秒钟有多少系统调用才算太多。这里设置参考值为10000,超过10000,用户需要注意。cs 列表示,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。 sy 正常memoryavm 当前激活的虚拟内存数量(k表示)。free 当前的空闲页面列表中内存数量(k表示) free 正常pagere 列表示回收的页面数。at 列表示地址翻译错误计数。pi 列表示进入页面数 (k表示)。po 列表示出页面数(k表示)。fr 列表示空余的页面数(k表示)。de 列表示提前读入的页面中的未命中数。sr 列表示通过时钟算法扫描的页面计数 po 正常fr:sr 正常Hp-unix下iostat释疑# iostat 5 5device bps sps mspsc0t6d0 0 0.0 1.0c0t6d0 2 1.0 1.0c0t6d0 2 0.8 1.0c0t6d0 4 2.0 1.0c0t6d0 2 1.0 1.0分析结果缓冲区性能分析device: iostat统计的设备名称。bps: 每秒该设备传输的K字节数。sps: 每秒检索该设备次数。msps: 平均每次检索所花费的时间,单位毫秒。bps 正常 Vmstat与iostat详解2007年11月04日 星期日 11:35 Linux在具有高稳定性、可靠性的同时,具有很好的可伸缩性和扩展性,能够针对不同的应用和硬件环境调整,优化出满足当前应用需要的最佳性能。因此企业在维护Linux系统、进行系统调优时,了解系统性能分析工具是至关重要的。在Linux下有很多系统性能分析工具,比较常见的有top、free、ps、time、timex、uptime等。下文将介绍几个较为重要的性能分析工具vmstat、iostat和sar及其使用。用vmstat监视内存使用情况vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监视。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。vmstat的语法如下:vmstat -V -n delay count其中,V表示打印出版本信息;n表示在周期性循环输出时,输出的头部信息仅显示一次;delay是两次输出之间的延迟时间;count是指按照这个时间间隔统计的次数。对于vmstat输出各字段的含义,可运行man vmstat查看。用iostat监视I/O子系统情况iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat的语法如下:iostat -c | -d -k -t -V -x device interval count 其中,-c为汇报CPU的使用情况;-d为汇报磁盘的使用情况;-k表示每秒按kilobytes字节显示数据;-t为打印汇报的时间;-v表示打印出版本信息和用法;-x device指定要统计的设备名称,默认为所有的设备;interval指每次统计间隔的时间;count指按照这个时间间隔统计的次数。iostat一般的输出格式如下:Linux 2.4.18-18smp () 2003年03月07日avg-cpu: %user %nice %sys %idle4.81 0.01 1.03 94.15Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtndev3-0 30.31 1117.68 846.52 16104536 12197374dev3-1 7.06 229.61 40.40 3308486 582080对于输出中各字段的含义,iostat的帮助中有详细的说明。vmstat 命令报告虚拟内存统计信息和CPU负荷:页面调度,交换,任务交换,CPU利用率。命令的语法是:vmstat -cisS d1 d2 d3 d4 interval count当不用选项时,vmstat显示一条曲线表示自从系统启动后活动的信息。如果指定interval(时间间隔),接下来的线是重复显示最后的interval期间活动的情况,直到用户中断命令执行。当同时提供计数器时,统计信息按时间计数来显示。如果指定了一个磁盘名(如d1,d2,等等。),这些磁盘得到优先显示。通常,系统上的前4个磁盘设备是显示的,因为只有四个设备能在一线条上显示,这个选项允许性能分析员修改缺省显示选项。(*磁盘名通常随id,sd,xd,或xy (取决于类型和I/0界面)加一个数字,如id0,sd2,xd1等等命名而定。),vmstat 命令显示若干字段信息:procs 报表下面三种状态的进程数:r-在运行队列中等候运行b-被资源阻塞(I/0,页面调度,等等.)w-可运行但是被换出的memory 报告虚拟内存和实存信息:swap-以千字节为单位的当前可用交换空间的数量free-以千字节为单位的页自由表大小page 报告每秒页面调度活动数量的信息:re-从自由表回收页mf-次要的错误;地址空间或硬件地址转换错误pi-页入的千字节数po -页出的千字节数fr- 释放的千字节数de-以千字节为单位的可接受的短期内存不足数sr-页由时钟算法扫描disk 可以为四个磁盘报告每秒磁盘I/O的数量faults 报告每秒系统软件中断和硬件中断的速率in-设备中断,不包括系统时钟中断sy-系统调用cs-CPU任务(上下文)交换cpu- CPU故障时间的百分比,在多处理器系统上,这是全部处理器的平均值:us- 用户时间sy- 系统时间id- 闲置时间vmstat命令有四个可选标志可供使用。如果机器有虚拟地址缓存-c标志就改变输出报告缓存刷新统计数据。报告包括自从系统启动后每种缓存刷新全部总量。六个缓存类型是用户,上下文,区域,段,页,部分页。-i标志 使输出变为报告中断的数量。如果给出设备名,如d1,d2等,监控将在设备级*执行,(*注,参阅第十二章有关打开设备级监控的信息。)并报告每个给定设备的统计信息。修改普通报告来显示交换而非页面调度活动的信息。这选项改变显示的两个字段:si(换入)和so(换出)替代了re和mf字段。值得注意是,interval 和count选项对-i或-s选项是非法的。vmstat 参数详解procs:r-在运行队列中等待的进程数b-在等待io的进程数w-可以进入运行队列但被替换的进程 memoyswap-现时可用的交换内存(k表示)free-空闲的内存(k表示)pagesre回收的页面mf非严重错误的页面pi进入页面数(k表示)po出页面数(k表示)fr空余的页面数(k表示)de提前读入的页面中的未命中数sr通过时钟算法扫描的页面disk 显示每秒的磁盘操作。 s表示scsi盘,0表示盘号fault 显示每秒的中断数in设备中断sy系统中断cycpu交换cpu 表示cpu的使用状态cs用户进程使用的时间sy系统进程使用的时间idcpu空闲的时间FIELD DESCRIPTIONSProcsr: The number of processes waiting for run time.b: The number of processes in uninterruptable sleep.w: The number of processes swapped out but otherwise runnable.Thisfield is calculated, but Linux never desperation swaps.Memoryswpd: the amount of virtual memory used (kB).free: the amount of idle memory (kB).buff: the amount of memory used as buffers (kB).Swapsi: Amount of memory swapped in from disk (kB/s). 虚拟内存的页导入(从SWAP DISK导入RAM)so: Amount of memory swapped to disk (kB/s). 虚拟内存的页导出.(从RAM到SWAP DISK)IObi: Blocks sent to a block device (blocks/s).bo: Blocks received from a block device (blocks/s).Systemin: The number of interrupts per second, including the clock.cs: The number of context switches per second.: CPUThese are percentages of total CPU time.us: user timesy: system timeid: idle time如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。如果pi,po 长期不等于0,表示内存不足。如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好。由vmstat看服务器说明:由于STATSPACK并不能获取全面分析性能问题所需要的所有信息,所以需要扩展其收集服务器的统计信息。(本文环境)VMSTAT介绍通过STATSPACK收集服务器信息,主要通过收集VMSTAT的信息来展现服务器状况。VMSTAT工具是最常见的监控工具,可以展现给定时间间隔的服务器的状态值。一般VMSTAT工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数。如:oraclebrucelau oracle$ vmstat 1 2procs memory swap io system CPUr b w swpd free buff cache si so bi bo in cs us sy id1 0 0 0 271844 186052 255852 0 0 2 6 102 10 0 0 1000 0 0 0 271844 186052 255852 0 0 0 0 104 11 0 0 100(注:目前系统几乎空闲,并且不同操作系统VMSTAT输出内容有所不同)目前说来,对于服务器监控有用处的度量主要有:r(运行队列)pi(页导入)us(用户CPU)sy(系统CPU)id(空闲)通过VMSTAT识别CPU瓶颈r(运行队列)展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了。获得CPU个数的命令(LINUX环境):cat /proc/cpuinfo|grep processor|wc -l当r值超过了CPU个数,就会出现CPU瓶颈,解决办法大体几种:1. 最简单的就是增加CPU个数2. 通过调整任务执行时间,如大任务放到系统不繁忙的情况下进行执行,进尔平衡系统任务3. 调整已有任务的优先级通过VMSTAT识别CPU满负荷首先需要声明一点的是,vmstat中CPU的度量是百分比的。当ussy的值接近100的时候,表示CPU正在接近满负荷工作。但要注意的是,CPU满负荷工作并不能说明什么,UNIX总是试图要CPU尽可能的繁忙,使得任务的吞吐量最大化。唯一能够确定CPU瓶颈的还是r(运行队列)的值。通过VMSTAT识别瓶颈数据库服务器都只有有限的RAM,出现内存争用现象是Oracle的常见问题。首先察看RAM的数量,命令如下(LINUX环境):rootbrucelau root#freetotal used free shared buffers cachedMem: 1027348 873312 154036 185736 187496 293964-/+ buffers/cache: 391852 635496Swap: 2096440 0 2096440当然可以使用top等其他命令来显示RAM。当内存的需求大于RAM的数量,服务器启动了虚拟内存机制,通过虚拟内存,可以将RAM段移到SWAP DISK的特殊磁盘段上,这样会出现虚拟内存的页导出和页导入现象,页导出并不能说明RAM瓶颈,虚拟内存系统经常会对内存段进行页导出,但页导入操作就表明了服务器需要更多的内存了,页导入需要从SWAP DISK上将内存段复制回RAM,导致服务器速度变慢。解决的办法有几种:1. 最简单的,加大RAM2. 改小SGA,使得对RAM需求减少3. 减少RAM的需求(如:减少PGA)我们基本的了解了VMSTAT工作,下面是STATSPACK通过vmstat统计收集服务器性能数据。STATSPACK通过vmstat收集服务器信息首先在perfstat用户下建一个存储服务器信息的表:如建表:create table stats$vmstat(start_date date, -系统时间duration date, -时间间隔server_name varchar2(20), -服务器名称runque_waits number, -运行队列数据page_in number, -页导入数据page_out number, -页导出数据user_cpu number, -用户cpu数据system_cpu number, -系统cpu数据idle_cpu number, -空闲cpu数据wait_cpu number -等待cpu数据(只是aix存在))tablespace perfstat;然后,通过UNIX/LINUX的shell变成,利用vmstat的结果来获取相应的服务器信息,并且存放到表中。关于shell编程,可能已经超出本文内容,并且诚实的说,本人并没有shell编程的经验,希望那位兄台可以完成shell编程的内容,并劳驾mail给我共享一下,谢了先!附: LINUX上VMSTAT的帮助手册:(man vmstat的结果)VMSTAT(8) Linux Administrators Manual VMSTAT(8)NAMEvmstat - Report virtual memory statisticsSYNOPSISvmstat -n delay countvmstat-VDESCRIPTIONvmstat reports information about processes, memory, paging, block IO, traps, and CPU activity.The first report produced gives averages since the last reboot. Additional reports give information on a sam-pling period of length delay. The process and memory reports are instantaneous in either case.OptionsThe -n switch causes the header to
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 5 Lets go第2课时 Start up(分层作业)-2025外研版(三起)四年级英语上册
- 2026年国际传统医药国际城市邹子星城市合同
- 珠海格力职业学院《大国兴衰及其当代启示》2024-2025学年第一学期期末试卷
- 云南省澜沧县第一中学2026届高一数学第一学期期末质量跟踪监视模拟试题含解析
- 单纯疱疹病毒Ⅰ型感染合并脑炎个案护理
- 大麻依赖个案护理
- 纯红细胞再生障碍性贫血合并胸腺瘤个案护理
- 云南省玉溪市2025年化学高一上期中统考试题含解析
- 山东省潍坊市昌乐、临朐等四县2025-2026学年化学高一上期中检测模拟试题含解析
- 脑卒中康复护理双语要点
- 国家电投集团陆上光伏发电工程典型设计
- 本地生活服务行业研究报告
- 氩弧焊基础知识培训总结
- 叙事医学课件
- 铁路客运礼仪培训需求分析报告
- 2025年卫生高级职称面审答辩(中医内科)在线题库(副高面审)练习题及答案
- 食用菌工厂化栽培管理方案
- 泌尿系超声质控课件
- 乡镇年度市政及道路基础设施巡查维护服务方案投标文件(技术方案)
- 2025年市中级人民法院逐级遴选法官考试题及答案
- 小学公祭日主题班会课件
评论
0/150
提交评论