linux系统内存爆满的解决办法!~
1.首先用free工具检查一下内存的使用情况:
这个是我的linux时时数据
Mem: | 4046824 | 763620 | 3283204 | 9004 | 10284 |
61560 |
-/+buffers/cache: | 691776 | 3355048 | ||||
total | used | free | shared | buffers | cached |
可以看到
要达到释放缓存的目的,我们首先需要了解下关键的配置文件/proc/sys/vm/drop_caches。这个文件中记录了缓存释放的参数,默认值为0,也就是不释放缓存。他的值可以为0~3之间的任意数字,代表着不同的含义:
0 – 不释放
1 – 释放页缓存
2 – 释放dentries和inodes
3 – 释放所有缓存
知道了参数后,我们就可以根据我们的需要,使用下面的指令来进行操作。
先使用sync将所有未写的系统缓存区存储至磁盘中,包含已经修改的i-node、已延迟的块I/O和读写映射文件,避免在释放缓存过程中丢失数据。