前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在 Linux 上如何清除内存的 Cache、Buffer 和交换空间

在 Linux 上如何清除内存的 Cache、Buffer 和交换空间

作者头像
小陈运维
发布2021-10-13 10:59:24
3K0
发布2021-10-13 10:59:24
举报
文章被收录于专栏:小陈运维小陈运维

如何在 Linux 中清除缓存(Cache)?

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

(LCTT 译注:Cache,译作“缓存”,指 CPU 和内存之间高速缓存。Buffer,译作“缓冲区”,指在写入磁盘前的存储在内存中的内容。在本文中,Buffer 和 Cache 有时候会通指。)

仅清除页面缓存(PageCache)

代码语言:javascript
复制
# sync; echo 1 > /proc/sys/vm/drop_caches

清除目录项和inode

代码语言:javascript
复制
# sync; echo 2 > /proc/sys/vm/drop_caches

清除页面缓存,目录项和inode

代码语言:javascript
复制
# sync; echo 3 > /proc/sys/vm/drop_caches
代码语言:javascript
复制
#!/bin/bash# 
注意,我们这里使用了 "echo 3",但是不推荐使用在产品环境中,应该使用 "echo 1"
echo "echo 3 > /proc/sys/vm/drop_caches

如何清除Linux的交换空间?

如果你想清除掉的空间,你可以运行下面的命令:

代码语言:javascript
复制
        swapoff -a && swapon -a

此外,了解有关风险后,您可以将上面的命令添加到cron中。

现在,我们将上面两种命令结合成一个命令,写成正确的脚本来同时清除RAM缓存和交换空间。

代码语言:javascript
复制
# echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'
或
# su -c 'echo 3 > /proc/sys/vm/drop_caches' && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'

在测试上面的命令之前,我们在执行脚本前后运行“free -m” 来检查缓存。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linux运维交流社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何在 Linux 中清除缓存(Cache)?
  • 如何清除Linux的交换空间?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档