最近使用centos在建站,没有用市面上的什么服务商的服务器,自己用树莓派3B+建了这个博客。但是发现经常宕机,所以想看看服务器在干什么,百度了很久,发现vmstat命令不错,拿出来推荐推荐。

这是我很喜欢用的一个命令,它可以简洁的查看使用状态,并且它使用起来很方便,它有两个参数,一个是间隔秒数,一个是读取次数,具体方法如下:

[root@localhost ~]# vmstat 5 10
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 592408  33244 169092    0    0     1     1  318  326  1  1 98  0  0
 0  0      0 592384  33252 169116    0    0     0     6 3858 3634  0  1 99  0  0
 0  0      0 592384  33252 169124    0    0     0     0 4353 4663  0  1 99  0  0
 0  0      0 592260  33252 169124    0    0     0     0 3845 3622  0  1 99  0  0
 1  0      0 592360  33252 169124    0    0     0     0 4399 4730  0  1 98  0  0
 0  0      0 592384  33252 169124    0    0     0     0 3794 3553  0  1 99  0  0
 1  0      0 592260  33252 169124    0    0     0     2 4224 4396  0  1 99  0  0
 0  0      0 592384  33260 169116    0    0     0     8 4033 3976  0  1 99  0  0
 1  0      0 592632  33260 169124    0    0     0     6 4258 4271 12  1 86  0  0
 0  0      0 592756  33268 169124    0    0     0     4 4330 4413 13  1 86  0  0

'vmstat 5 10'中的’5’表示的是每次抓取间隔时间,’10’表示抓取的次数

r 表示运行队列

b 表示阻塞的进程。

swpd 虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了。

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

buff 显示的是Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存。

cache 是文件缓冲。

si 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了。

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

bi 块设备每秒接收的块数量。

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

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

cs 每秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好。

us 用户CPU时间。

sy 系统CPU时间。

id 空闲 CPU时间。

wt 等待IO CPU时间。

Last modification:May 25th, 2020 at 07:03 pm
如果觉得我的文章对你有用,请随意赞赏