vmstat-系统整体运行状态

2022/4/20 23:15:39

本文主要是介绍vmstat-系统整体运行状态,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

 

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 5  0      0 411652 2467716 444288    0    0 77824     0 2640  518  1 99  0  0  0
 2  2      0 149360 2943488 373780    0    0 178088     0 3873 2225  1 70  4 26  0
 2  2      0 127968 2967288 372204    0    0 214680     0 4490 3424  1 56  1 43  0

 

[root@centos7 ~]# ps aux|grep D
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       970  0.0  0.1 112900  4312 ?        Ss   19:45   0:00 /usr/sbin/sshd -D
nginx     1011  0.4  0.7  57524 30944 ?        D    19:45   0:25 nginx: worker process

 procs(进程):

  r  展示正在运行和等待运行的进程个数,当这个值超过CPU个数时,就会出现CPU瓶颈。

  b  处在非中断睡眠状态D的进程数。即等待IO的进程数量。

 6  0      0 208812 2386860 704376    0    0 185984     0 4010 2266  9 68  1 22  0
 4  1      0 270104 2573608 688096    0    0 186752     0 3226  770 10 63 24  3  0
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 4  0      0 113068 2485724 705940    0    0 176316     0 3978 2172 11 68  1 20  0
 0  0      0 353808 2485724 690400    0    0     0     0 2408 3673  5 16 79  0  0
 0  0      0 615180 2217484 692300    0    0     0     0 6323 10006 12 38 50  0  0

    1 1 0 291892 2334768 904996 0 0 208896 0 3880 3215 1 43 3 54 0
    2 1 0 152140 2474640 905496 0 0 217088 0 4473 3394 1 56 2 42 0

 

 

 memory(内存):

  swpd  已使用的虚拟内存大小。如果虚拟内存使用较多,可能是系统的物理内存比较吃紧,需要采取合适的方式来减少物理内存的使用。swpd不为0,并不意味物理内存吃紧,si、so的值长期为0,这也是没有问题的。

  free  空闲的物理内存的大小

  buff  用来做buffer(缓存,主要用于块设备缓存)的内存数,单位:KB

  cache  用作缓存的内存大小。如果cache的值大的时候,说明cache处的文件数多,如果频繁访问到的文件都能被cache处,那么磁盘的读IO bi会非常小。单位:KB

 swap(交换分区):

  si   从磁盘写入到swap虚拟内存的交换页数量,单位:KB/秒。如果这个值大于0,表示物理内存不够用或者内存泄露了。

  so  从swap虚拟内读出的数据。即从swap中的数据写入到磁盘的交换页数量,单位:KB/秒,如果这个值大于0,表示物理内存不够用或者内存泄露了。

  注意:内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。   当看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,这个是不正确的。不能光看这一点,还要结合si和so。如果free很少,但是si和so是0,那么不用担心,系统性能这时不会受到影响的。

 io(这里指进出内存的数据):

  bi  每秒从块设备接收到的块数,单位:块/秒 也就是读块设备。bi通常是读磁盘的数据

  bo  每秒发送到块设备的块数,单位:块/秒  也就是写块设备。bo通常是写磁盘的数据

 system(系统):

  in  每秒的中断数,包括时钟中断。

  cs  每秒的环境(上下文)切换次数。比如我们调用系统函数,就要进行上下文切换,而过多的上下文切换会浪费较多的cpu资源,这个数值应该越小越好

 cpu(使用cpu时间的百分比,最大100%):

  us  用户CPU时间(非内核进程占用时间)(单位为百分比)。 us的值比较高时,说明用户进程消耗的CPU时间多

  sy  系统使用的CPU时间(单位为百分比)。sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因。

  id  空闲的CPU的时间(百分比),在Linux 2.5.41之前,这部分包含IO等待时间。

  wa  等待IO的CPU时间,这个值为0 .这个指标意味着CPU在等待硬盘读写操作的时间,用百分比表示。wait越大则机器io性能就越差。说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。

  st  虚拟机占用cpu时间的百分比。如果centos系统上运行了kvm虚拟机,而kvm虚拟上又运行了几个虚拟机,那么这个值将显示这个几个正在运行的虚拟机从物理机中窃取CPU运行时间的百分比。

 

1)CPU利用率比例分配

  us——用户态——65%~70%

  sy——内核态——30%~35%

  id——空闲——0%~5%

  cs——Context Switches:上下文切换的数目直接关系到CPU 的使用率,如果CPU 利用率保持在上述均衡状态时,有大量的上下文切换是正常的。(上下文切换指的就是cpu中寄存器数据的写入和读出每个进程在使用cpu时,都需要把自己的数据先写入cpu的缓存(寄存器)中,然后cpu才能根据缓存中的数据来计算。)

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  1    776 139596 2282668 1109480    0    0 217088     0 4507 3382  1 57  1 42  0
 1  1    776 161196 2261052 1109428    0    0 212992     0 4475 3343  0 58  1 42  0
 2  1    776 151408 2270940 1109528    0    0 217088     0 4482 3333  1 57  1 41  0
 2  1    776 150248 2270680 1109528    0    0 217088     0 4485 3384  1 57  1 42  0
 1  1    776 133148 2289044 1109464    0    0 212992     0 4417 3316  1 57  1 41  0
 0  0    776 155152 2265980 1109700    0    0 147644     0 3179 2360  0 40 32 28  0
 0  0    776 155152 2265980 1109700    0    0     0     0   44   59  0  0 100  0  0
 0  0    776 155152 2265980 1109700    0    0     0     0   31   49  0  0 100  0  0
 0  0    776 155152 2265980 1109700    0    0     0     0   49   65  0  0 100  0  0

 用来连续查看系统整体运行状态,主要可以注意查看r、free、si、so、bi、bo、us、id、wa(wa大于40%就要查看bi、bo情况了)。



这篇关于vmstat-系统整体运行状态的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程