如何清除Linux上的内存缓存,缓冲区和交换空间

像任何其他操作系统一样,GNU / Linux已经有效地实现了内存管理,甚至更多。 但是如果任何进程正在吃掉你的内存并且想要清除它,Linux提供了一种清除或清除ram缓存的方法。

如何清除缓存在Linux?

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

1.只清除页缓存。

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

2.清除目录项和inode。

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

3.清除页缓存,目录项和inode。

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

上述命令的说明。

同步将刷新文件系统缓冲区。 命令通过分隔“;”顺序运行。 shell在执行序列中的下一个命令之前等待每个命令终止。 由于内核文档中提到,写信给drop_cache将清理缓存,而不杀死任何应用程序/服务, echo命令是做写入文件的工作。

如果您必须清除磁盘高速缓存,第一个命令是企业和生产安全作为“...echo 1 > ….”将只能清除页缓存 不建议使用上面第三个选项“...echo 3 >”直到你知道你在做什么的生产,因为它会清除页缓存目录项inode。

在Linux中释放可能被Linux Kernel使用的Buffer和Cache是​​个好主意吗?

当您应用各种设置并希望检查时,如果它实际上是专门在I / O扩展基准上实现的,那么您可能需要清除缓冲区缓存。 您可以如上所述删除缓存,而无需重新启动系统,即无需停机时间。

Linux是以这样的方式设计的,它在查看磁盘之前查看磁盘缓存。 如果它在缓存中找到资源,则请求不到达磁盘。 如果我们清理缓存,磁盘缓存将不太有用,因为操作系统将在磁盘上查找资源。

此外,它还将缓慢系统几秒钟,同时清理缓存,并且操作系统所需的每个资源都在磁盘缓存中再次加载。

现在,我们每天都会在凌晨2点通过一个cron任务调度程序创建一个shell脚本来自动清除RAM缓存。 创建一个shell脚本clearcache.sh并添加以下行。

#!/bin/bash
# Note, we are using "echo 3", but it is not recommended in production instead use "echo 1"
echo "echo 3 > /proc/sys/vm/drop_caches"

clearcache.sh文件中设置执行权限。

# chmod 755 clearcache.sh

现在,您可以在需要清除RAM缓存时调用脚本。

现在设置一个cron每天凌晨2点清除RAM缓存。 打开进行编辑的crontab。

# crontab -e

追加以下行,保存并退出在每天凌晨2点运行。

0  2  *  *  *  /path/to/clearcache.sh

有关如何与cron你可能要检查我们的文章的作业的更多详细信息11克龙计划作业

在生产服务器上自动清除RAM缓存是个好主意吗?

没有! 不是这样。 想一个情况,当你已安排脚本在凌晨2点清除RAM缓存日常生活。 每天凌晨2点执行脚本并刷新RAM缓存。 有一天,无论什么原因,可能会超过预期的用户在您的网站上,并从您的服务器寻求资源。

同时,预定脚本运行并清除缓存中的所有内容。 现在所有的用户都从磁盘获取数据。 这将导致服务器崩溃和数据库损坏。 所以清楚ram-cache只有在需要的时候,并知道你的脚步,否则你是一个货物系统管理员。

如何清除交换空间在Linux?

如果要清除Swap空间,可以运行以下命令。

# swapoff -a && swapon -a

也可以在上面的cron脚本中添加上面的命令,了解所有相关的风险。

现在,我们将把上面的命令组合成一个单一的命令,使一个合适的脚本清除RAM缓存和交换空间。

# echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'
OR
$ su -c "echo 3 >'/proc/sys/vm/drop_caches' && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'" root

同时测试以上的命令后,我们会和之前运行该脚本后运行命令“ 自由-h”,将检查缓存。

这就是现在,如果你喜欢的文章,不要忘了提供我们在评论中的宝贵反馈,让我们知道,你认为清除ram缓存和缓冲区在生产和企业是一个好主意?

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏