- A+
所属分类:技术杂记
经常在命令提示行下看到系统内存爆满,之前发现的一个原因是nginx的默认配置导致,后来做了参数优化,得到了缓解。但是,每个星期重新检查内存分配情况,还是不够满意,后来查出原来是内存缓存没有释放所导致。
问度娘,得到了解决的方法,步骤如下:
1. # sync(将所有未写的系统 缓冲区写到磁盘中,否则在释放缓存的过程中,可能会丢失未保存的文件);
2. # cat /proc/sys/vm/drop_caches(查询当前缓存释放的参数:0-不释放,1-释放页缓存,2-释放dentries和inodes,3-释放所有缓存);
3. # echo 3 > /proc/sys/vm/drop_caches (将参数写入drop_caches文件,此命令即时生效,内存立即释放);
4. # echo 0 > /proc/sys/vm/drop_caches (将参数写入drop_caches文件,此命令即时生效,继续启动缓存);
可以把1,3,4命令做一个定时启动的版本,这样不用每次都从服务器后台去维护了。