最近使用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时间。