首页 > 学技术 > 技术网文 > Solaris > 正文

[精华] vmstat的应用详解


来源 chinaunix.net 酷勤网整理

Virtual Memory Statistics ( vmstat )  vmstat 是报告关于进程,虚拟内存,磁盘,CPU活动的一个统计报告.
在一个多CPU系统中,vmstat统计所有个数的CPU的平均输出.为每个进程进行统计.没有参数时,vmstat显示每一行是自从系统启动以后的虚拟内存的活动情况.(注:vmstat输出的第一行对于实施统计没有意义)

用法:

基本的用法是vmstat <options> interval count

option: 指定我们所需要的输出选项比如: paging  -p , cache   -c ,.interrupt -i  等等(还有一个比较有用的是S),更加具体的vmstat的参数情况可以参照man手册和系统管理员手册的相应说明.

如果没有指定参数,输出的信息是关于process , memory , paging , disk ,interrupts & cpu的显示.
interval 是在两个输出结果输出的时候给予的间隔时间.. vmstat   4  是给予4秒的间隔.
count  是你需要的输出的数据量.ivmstat 4   5  是间隔4秒输出5次数据.
下面是关于一些参数的描述:
procs 
             r     in run queue
             b     blocked for resources I/O, paging etc.
            w     swapped

     memory (in Kbytes)
              swap -  amount  of  swap   space   currently   available                
              free   - size of the free list 

     page ( in units per second).
           re    page reclaims -  see  -S  option  for  how  this field is modified.
           mf    minor faults -  see  -S  option  for  how    this field is modified.
           pi    kilobytes paged in
           po    kilobytes paged out
           fr    kilobytes freed
           de    anticipated short-term memory shortfall (Kbytes)
           sr    pages scanned by clock algorithm

     disk  ( operations per second ) 
           There are  slots for up to four disks, labeled with a single letter and number. 
           The letter indicates  the  type  of  disk  (s = SCSI, i = IPI, etc) . The number is  
           the logical unit number.

     faults
            in    (non clock) device interrupts
           sy    system calls
           cs    CPU context switches

     cpu  -   breakdown of percentage usage of CPU  time.  On multiprocessors  this is an average across all processors.
           us    user time
           sy    system time
           id    idle time
CPU问题现象:
1.) 如果在processes中运行的序列(process r)是连续的大于在系统中的CPU的个数表示系统现在运行比较慢,有多数的进程等待CPU.
2.) 如果r的输出数大于系统中可用CPU个数的4倍的话,则系统面临着CPU短缺的问题,或者是CPU的速率过低,系统中有多数的进程在等待CPU,造成系统中进程运行过慢.
3.) 如果空闲时间(cpu id)持续为0并且系统时间(cpu sy)是用户时间的两倍(cpu us) 系统则面临着CPU资源的短缺.
  
 解决办法:
当发生以上问题的时候请先调整应用程序对CPU的占用情况.使得应用程序能够更有效的使用CPU.同时可以考虑增加更多的CPU.  关于CPU的使用情况还可以结合mpstat,  ps aux top  prstat –a等等一些相应的命令来综合考虑关于具体的CPU的使用情况,和那些进程在占用大量的CPU时间.一般情况下,应用程序的问题会比较大一些.比如一些SQL语句不合理等等都会造成这样的现象.
  
  
内存问题现象:
内存的瓶颈是由scan rate (sr)来决定的.scan rate是通过每秒的始终算法来进行页扫描的.如果scan rate(sr)连续的大于每秒200页则表示可能存在内存缺陷.同样的如果page项中的pi和po这两栏表示每秒页面的调入的页数和每秒调出的页数.如果该值经常为非零值,也有可能存在内存的瓶颈,当然,如果个别的时候不为0的话,属于正常的页面调度这个是虚拟内存的主要原理.
  
解决办法:
1.调节applications & servers使得对内存和cache的使用更加有效.
2.增加系统的内存.
3. Implement priority paging in s in pre solaris 8 versions by adding line "set priority paging=1" in 
/etc/system. Remove this line if upgrading from Solaris 7 to 8 & retaining old /etc/system file.
关于内存的使用情况还可以结ps aux top  prstat –a等等一些相应的命令来综合考虑关于具体的内存的使用情况,和那些进程在占用大量的内存.一般情况下,如果内存的占用率比较高,但是,CPU的占用很低的时候,可以考虑是有很多的应用程序占用了内存没有释放,但是,并没有占用CPU时间,可以考虑应用程序,对于未占用CPU时间和一些后台的程序,释放内存的占用.

写的不对的地方欢迎朋友帮忙指出。谢谢,并且帮助补充。谢谢!!!



 东方蜘蛛 回复于:2007-01-07 20:09:49

不错,再学习,呵呵!


 风之幻想 回复于:2007-01-08 08:34:14

谢谢,蜘蛛兄,捧场.写的不好的地方.还请给予指正.


 maping 回复于:2007-01-08 08:47:35

学习啊!好东西


 bencyber 回复于:2007-01-08 09:03:22

好东西呵,学习!!


 nononhm 回复于:2007-01-08 09:24:47

好~详细


 胭脂扣 回复于:2007-01-08 15:14:43

收藏了。 谢谢.


 twinklezcf 回复于:2007-01-08 16:14:25

嗯..主要是中文讲得非常的详细...最近来看的几篇就你的舒服~亲切~


 roywurui 回复于:2007-01-08 16:54:18

收藏了风之幻想很多好东西了


 qingqing1982 回复于:2007-01-22 17:06:36

好东东!谢谢!


 race 回复于:2007-01-22 17:17:08

补充一下,vmstat的pi po如果很大的话,就认为内存不够用。
性能分析并不是靠一个命令来确定结果的,有多解性,就需要sar  iostat  prstat等综合利用,CPU  内存 I/O,进程使用等都要查看一下,综合分析才能下结论。


 风之幻想 回复于:2007-01-23 08:20:15

引用:原帖由 race 于 2007-1-22 17:17 发表
补充一下,vmstat的pi po如果很大的话,就认为内存不够用。
性能分析并不是靠一个命令来确定结果的,有多解性,就需要sar  iostat  prstat等综合利用,CPU  内存 I/O,进程使用等都要查看一下,综合分析才能下结 ... 


谢谢.老大的指点,下次在写的时候一定会注意的.


 lzsh 回复于:2007-03-03 15:17:55

看过很多vmstat的详解
风讲的最深入最详细

有时侯我发现vmstat
和sar的结果差别较大
还有vmstat的第一条报告往往不准确

谁能解释一下
谢谢先!

solaris 8


 妖刀 回复于:2007-05-15 15:15:16

我倒,这就详细并且加精了?翻译的东东
哪位可以详解一下vmstat的disk的含义?


 sccdyuebo 回复于:2007-05-15 18:21:59

收藏,thanks!




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=882302
转载请注明作者名及原文出处



收藏本页到: