Linux vmstat命令
vmstat命令,可以查看CPU使用,内存使用,虚拟内存交换使用,IO读写情况
常用用法举例: vmstat 1 10 (1表示每隔1秒采集一次,10表示采集10次),如下:
[root@c1 ~]# vmstat 1 10procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 263436 74788 553092 0 0 892 67 1083 783 2 9 84 4 0 0 0 0 263436 74788 553092 0 0 0 0 715 778 0 1 99 0 0 1 0 0 263436 74788 553092 0 0 0 12 671 746 1 0 99 0 0 0 0 0 263436 74788 553116 0 0 0 0 700 750 0 0 100 0 0 0 0 0 263436 74788 553116 0 0 0 0 712 771 0 0 100 0 0 0 0 0 263436 74788 553116 0 0 0 0 711 789 0 0 100 0 0 0 0 0 263436 74788 553120 0 0 0 12 699 765 0 1 99 0 0 0 0 0 263436 74788 553120 0 0 0 0 716 822 0 1 99 0 0 0 0 0 263436 74788 553120 0 0 0 56 682 805 0 0 100 0 0 0 0 0 263436 74788 553120 0 0 0 0 712 808 0 1 99 0 0
procs段:
r:表示运行和等待cpu时间片的进程数,如果此列的值长期大于cpu个数,说明系统有进程在等待cpu,可能系统会运行较慢。
如果r大于系统中可用CPU个数的4倍,则CPU可能短缺,或是CPU的速率过低,系统中有多较多的进程在等待CPU,造成系统慢。
b:表示每秒等待cpu的进程个数,参考值为2,大于2说明,等待较严重。
memory段
swpd:切换进虚拟内存的数据量(单位kb)
free:当前空闲的内存(单位kb)
buff:即buffer cache的内存,是块设备的读写缓冲区,更靠近存储设备,或者直接就是disk的缓冲区(单位kb)
cache:即page cache的内存, 文件系统的cache,是memory的缓冲区(单位kb)
swap段
si:即swapin换入(单位kb)
so:即swapout换出(单位kb)
io段
bi:每秒读的数量(单位kb)
bo:每秒写的数量(单位kb)
system段
in:表示设备中断次数数。
cs:表示产生的上下文切换次数,如果cs 比磁盘 I/O 和网络信息包速率高得多,则要仔细观察
cpu段
us:用户进程占用cpu,当长期到50%可以考虑优化用户程序
sy:内核进程占用cpu,如果用户进程+内核进程占用cpu长期在80%以上,可能cpu不足
id:即idle,cpu空闲时间
wa:io等待,即系统等待未完成的 disk/NFS I/O 请求期间的CPU 空闲时间,大于30%以上需观察
st: 管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比