命令说明
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,因此 系统内存大对存储系统的性能也就越好
本文出自 “小恶魔的家” 博客,请务必保留此出处http://littledevil.blog.51cto.com/9445436/1770846
原文地址:http://littledevil.blog.51cto.com/9445436/1770846