重点 在清缓存是要先把缓存刷到磁盘
sync
echo 3 > /proc/sys/vm/drop_caches
echo 0 是不释放缓存
echo 1 是释放页缓存
ehco 2 是释放dentries和inodes缓存
echo 3 是释放 1 和 2 中说道的的所有缓存
还有防止缓存占满
们采用的方法是设定内存最低剩余内存,不让缓存占满
1.使用root用户备份/etc/sysctl.conf文件,准备修改原文件;
2.修改sysctl.conf配置文件
2.1 打开sysctl.conf
vim /etc/sysctl.conf
1
2.2 在文件最后加入一行:
vm.min_free_kbytes = 2097152
1
(命令意义:设置最小剩余内存,单位KB,这里设置2G)
1
2.3 保存退出。
3. 使配置文件生效
sysctl -p
————————————————
版权声明:本文为CSDN博主「范一刀」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mfanoffice2012/article/details/79198244
什么情况下清理缓存:
https://blog.csdn.net/weixin_33896069/article/details/85093044
写的很好可以看看,和交换分区有关,如果需要内存缓存里的东西会放在交换分区里
Swap意思是交换分区,通常我们说的虚拟内存,是从硬盘中划分出的一个分区。当物理内存不够用的时候,内核就会释放缓存区(buffers/cache)里一些长时间不用的程序,然后将这些程序临时放到Swap中,也就是说如果物理内存和缓存区内存不够用的时候,才会用到Swap。