命令说明
vmstat :命令可以观察到系统的进展状态、内存使用、虚拟内存使用、磁盘IO读写、中断、上下文切换、CPU使用等负载信息。相对于top命令、iostat命令以及free命令来说,它是一个综合查看性能的命令。
参数说明
参数 说明 -a 显示活跃和非活跃页面状态(内存) -S 指定单位显示,对内存有效 k(1000) K(1024) m(1000000) M(1048567),默认为K delay 刷新间隔时间,如果不指定则只显示一条 count 刷新次数,如果不指定次数,而指定了刷新时间,则为无穷次数 输出内容说明
区域 参数 说明 procs(进程) r 队列运行中的进程数量。如果这个值长期了CPU个数,就出现了CPU瓶颈。 b 等待IO的进程数量。 memory(内存) swpd 使用虚拟内存大小,如果swpd的值不为0,但是si、so的值长期为0,这种情况不会影响系统性能。 free 空闲物理内存大小。 buff 用作缓冲的内存大小。 cache 用作缓存的内存大小。如果cache的值大,说明cache处的文件数多,频繁访问的文件就会放到cache中,那么磁盘IO的压力就会小。
具体buff和cache的区别,后面再讲。swap si 每秒从交换区写入到内存的大小,由磁盘调入内存。.如果大于0表示物理内存不够用或者内存泄漏,要查找不够用的原因。 so 每秒从内存写入到交换区的大小,由内存调入磁盘。如果这个值大于0,原因同上。 注意:内存充足的时候,这2个值为0,如果这两个值长期大于0,系统性能就会受影响,磁盘IO和CPU资源都会被消耗。Linux的内存机制和Windows不同,所以看到内存很低并不一定是内存不够用,还要结合si和so来看。 io bi 每秒读取的块数(1kb) bo 每秒写入的块数 随机读写磁盘的时候,这2个值越大(如果超过1024k),能看到CPU在IO等待的值也会大。 system in 每秒中断数,包括时钟中断。 sc 每秒上下文切换数。 上面2个值越大,会看到由内核消耗的CPU时间会越大。 CPU us 用户进程执行时间百分比。该值较高,说明用户进程消耗的CPU时间多,但如果长期50%,我们就要考虑优化程序。 sy 内核系统进程执行时间百分比。该值高,说明系统内核消耗的CPU资源多,正常来说不应该出现这种情况。 wa IO等待时间百分比。该值高,说明IO等待比较严重,可能是磁盘大量随机访问造成的,也可能磁盘出现瓶颈。 id 空闲时间百分比 id+us+sy=100 的
小文件读写的瓶颈是 磁盘寻址时间,大文件读写的平均是总线带宽。Linux可以利用空闲内存做文件访问的cache,因此 系统内存大对存储系统的性能也就越好
本文转自linuxjavachen 51CTO博客,原文链接:http://blog.51cto.com/littledevil/1770846,如需转载请自行联系原作者