監控系統狀態
- 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,須要去排查