Linux 上如何清除 RAM 内存高速缓存,缓存和交换空间

在Linux中如何清除缓存?

每一个Linux系统有三个选项来清除缓存而不中断任何进程或服务。

1,仅清除缓存页

sync; echo 1 > /proc/sys/vm/drop_caches

2,清除目录项和inodes

sync; echo 2 > /proc/sys/vm/drop_caches

3,清除,缓存页,目录项和inodes

sync; echo 3 > /proc/sys/vm/drop_caches

上述命令的说明:

sync将刷新文件系统缓存,命令通过“;”分隔,顺序执行,shell等待终止在序列中的每一个命令执行之前。正如内核文档中提到的,写到drop_cache将清空缓存而不杀死任何应用程序/服务,echo命令做写入文件的工作。

4,定时任务清理cache缓存

  4.1创建脚本文件cleanCache.sh

vim cleanCache.sh
#!/bin/bash
#每两小时清除一次缓存
echo "开始清除缓存"
sync;sync;sync #写入硬盘,防止数据丢失
sleep 10 #延迟10秒
echo 3 > /proc/sys/vm/drop_caches

  4.2将cache加入定时任务

echo '0 0 2/2 * * ?  sh /opt/script/cron/cleanCache.sh' >> /var/spool/cron/root 
#此段代码表示每两小时清理一次cache。

 

posted @ 2021-02-08 00:44  神经蛙  阅读(176)  评论(0编辑  收藏  举报