码迷,mamicode.com
首页 > 其他好文 > 详细

【随笔】vmstat性能监测

时间:2015-01-20 23:31:29      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:

  vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。相比top,vmstat可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。

  使用vmstat命令可以输出一条服务器状态信息:

  技术分享

  可以在vmstat命令后添加2个参数,第一个参数表示间隔多长时间获取一次信息,单位为秒,第二个参数表示输出几个信息后停止获取:

  技术分享  

  第二个参数是缺省的,如果省略,则会一直输出状态信息,直至使用"Ctrl + C"停止vmstat:

  技术分享  


  现在来详细解释下这些参数:

    r  -->  表示运行队列,也就是说当前等待运行的进程队列,如果其超过了cpu内核数目,则表示这个cpu负载过高,cpu很繁忙,服务器的状态很危险。

    b  -->  表示阻塞的进程。

    swpd  -->  虚拟内存已使用的大小,如果大于0,表示机器物理内存不足了,如果不是程序内存泄露的原因,那么就该升级内存了或者把耗内存的任务迁移到其他机器。

    free  -->  空闲的物理内存的大小。

    buff  -->  用来存储目录里面的内容、权限等的缓存.

    cache  -->  直接用来记忆我们打开的文件,给文件做缓冲。

    si   -->  每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。

    so  -->  每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。

    bi   -->  块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte。

    bo  -->  块设备每秒发送的块数量,例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。

    in  -->  每秒CPU的中断次数,包括时间中断。

    cs  -->  每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目。上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的时间少了,CPU没有充分利用。

    us  -->  用户CPU使用率。

    sy  -->  系统CPU使用率,如果太高,表示系统调用时间长,例如是IO操作频繁。

    id  -->  空闲CPU使用率,一般来说,id + us + sy = 100。

    wt  -->  等待IO CPU时间。

 

【随笔】vmstat性能监测

标签:

原文地址:http://www.cnblogs.com/linxiong945/p/4236452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!