监控系统状态
- free 查看内存使用状况
- free -m / -g / -h
- buffer/cache区别
- 公式:total=used+free+buff/cache
- avaliable包含free和buffer/cache剩余部分
free命令
- free命令,查看内存使用状况
- 在centos7和centos6中显示的结果是不一样的
- 在centos7中,则更加直观
- 默认单位:kb
- 共有三行,咱们须要关注的是第二行,内存的使用状况
- 第一行,是说明
- 第二行,是内存的使用状况
- 第三行,是swap交换分区的使用状况
[root@localhost ~]# free
total used free shared buffers cached
Mem: 1010860 354592 656268 6824 692 192560
-/+ buffers/cache: 161340 849520
Swap: 2097148 0 2097148
[root@localhost ~]#
[root@localhost ~]# free -m
total used free shared buffers cached
Mem: 987 347 639 6 0 188
-/+ buffers/cache: 158 828
Swap: 2047 0 2047
[root@localhost ~]#
- free -h 在具体的数字后面加上单位——>更加直观显示
[root@localhost ~]# free -h
total used free shared buffers cached
Mem: 987M 347M 639M 6.7M 692K 188M
-/+ buffers/cache: 158M 828M
Swap: 2.0G 0B 2.0G
[root@localhost ~]#
- 第一列,是总共有多大
- 第二列,使用了多大
- 第三列,剩余多大
- 在这里会发现,used+free不等于total
- 这是由于在linux操做系统,会把你的内存预分配一部分出来,分配给 buff 和 cache ,
- 第四列,buff 表示 缓冲
- 第五列,cache 表示 缓存
- 区分:数据的流向不一样
- 磁盘——>内存(cache)——>cpu
- cpu——>内存(buff)——>磁盘
- 第六列,是free内存 + 预分配的buff/cache内存还没用完的,就是available(在centos7.0版本中,不会显示available,版本过低)
小常识
- 公式:total=used+free+buff/cache
- avaliable包含free和buffer/cache剩余部分
swap部分
- 当swap不够使用了,就会使用到used,再used跑满了,free剩余为0,那swap则确定须要添加了
- 然而添加swap并非解决问题的方法,而是增长内存。swap不够使用了,说明内存不够了,或者说你的内存泄漏了,你的程序有BUG,须要去排查