首页 > 集群架构 > 性能优化 > Linux性能分析之一(Vmstat)
2015
03-03

Linux性能分析之一(Vmstat)

前言

    对于我们的服务器为什么要性能优化,这个不用多数,大家都懂的!在遇到性能问题的时候我们需要定位是哪里出现了性能瓶颈。下面让我们聊一聊解决瓶颈的思路。

一、影响服务器性能的因素

  1. CPU(cpu的运行速度直接影响服务器的性能)

  2. 硬盘(IO的读写速度是最直接的影响)

  3. 内存(尽量不要使用SWAP)

  4. 网卡(网卡的吞吐量)

二、性能分析的步骤

1、服务器需要长期的监控,采集服务器性能指标(可以使用zabbix)

2、遇到性能瓶颈的时候,我们需要使用一些工具来定位问题(Vmstat,top,iostat 等)

三、可能会造成性能瓶颈的因素

1、服务器硬件配置

2、程序设计缺陷(曾经遇到过死循环,CPU利用率增高,拖慢服务器)内存泄露。

3、物理内存不够时使用了交换分区,造成CPU和磁盘IO的开销

4、数据库查询sql没有走索引,或者索引建立的不合理

四、vmstat命令详解

[root@tshare365 ~]# vmstat   1 3
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 776188  80316  39656    0    0    13     1   13   10  0  0 100  0  0	
 0  0      0 776148  80316  39676    0    0     0     0   17   10  0  0 100  0  0	
 0  0      0 776172  80316  39676    0    0     0     0   17   12  0  0 100  0  0	
[root@tshare365 ~]#

注释:

   vmstat 1 3 表示每隔一秒采集一次数据,共采集三次

   procs

      r:表示正在运行的进程数和等待cpu时间片的进程数(如果r的值大于我们CPU的核心数,表示CPU不足,此时我们需要增加CPU)

     b:等待运行的进程数(如果这个值较大,我们需要查看服务的内存使用情况,看看是否使用了交换分区,还用磁盘的IO情况)

   memory

      swpd:虚拟内存使用大小,这个值最理想状态是为0,表示我们的内存足够

     free:表示当前空闲的物理内存数量(以KB为单位)

      buff:表示buffers cache的内存数量,一般对块设备的读写才需要缓冲

      cache:表示page cached的内存数量,一般作文件系统的cached,频繁访问的文件都会被cached。如果cached值较大,就说明cached文件数较多。如果此时IO中的bi比较小,就说明文件系统效率比较好

   swap:

      si:每秒从交换分区写入内存的大小,也就是从硬盘写入内存

      so:如si恰好相反,表示从内存写入交换分区的大小

swap 中的两个值,最理想的状态都是0,表示内存足够大,没有使用交换分区

   io:

     bi:每秒读取的块数

    bo:每秒写入的块数

  system:

     in:每秒中断数包括时钟中断

     cs:每秒上下文切换数

  cpu:

     us:用户空间消耗的CPU时间(如果这个值一直较高,就应该优化程序了)

     sy:内核空间消耗CPU的时间 (这个值较高,说明系统不正常,需要查找原因)

     id:CPU空闲状态的时间  (这个值越高,说明CPU跑的很欢)

     wa:IO等待所占用的CPU时间(如果这个值较高,有可能是磁盘遇到了瓶颈)

     st:虚拟机占用时间(很少关注)

vmstat到此就介绍完了,在vmstat中我们最关心的的指标也就是proc中的r,b,这也是许多面试官最喜欢问的问题,希望大家都能记住!vmstat在平时的工作中还是经常用到的,希望大家用心去体会各个参数的意义!

本博客至此结束,如有什么问题,请留言!或者加入我的qq群一起讨论    347163978




最后编辑:
作者:tshare365
这个作者貌似有点懒,什么都没有留下。
捐 赠您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击

留下一个回复