📜  如何在 Linux 上清除 RAM 内存缓存、缓冲区和交换空间

📅  最后修改于: 2022-05-13 01:57:27.253000             🧑  作者: Mango

如何在 Linux 上清除 RAM 内存缓存、缓冲区和交换空间

在本文中,我们将看到如何在 Linux 上清除 RAM 内存缓存、缓冲区和交换空间。在每个系统中,我们都会遇到缓存中包含不需要的文件并可能损害我们的系统的情况,Linux 缓存中也会发生同样的事情,如果您想清除缓存并释放一些内存,那么 Linux 有很多命令可以做到这一点。

在 Linux 中清除缓存:

在所有 Linux 系统中,我们有三个选项可以在不中断任何服务或进程的情况下清除缓存。

示例 1:仅清除 PageCache

句法 :

sudo sh -c 'echo 1 >  /proc/sys/vm/drop_caches'

命令#free -h 会给我们内存的状态



drop_caches 是使用干净的缓存,不杀任何应用,可以运行#free -h 命令查看清除缓存前后已用内存和空闲内存的区别

示例 2:清除 dentry 和 inode

句法:

sudo sh -c 'echo 2 >  /proc/sys/vm/drop_caches' 

示例 3:清除 PageCache、dentries 和 inode

句法:

sudo sh -c 'echo 3 >  /proc/sys/vm/drop_caches'  



现在使用 Linux 内核,为了在 Linux 中释放缓冲区和缓存,我们将创建一个 shell 脚本来每天自动清除 RAM 缓存,通过 cron 调度程序任务。命令 vim script.sh 用于创建一个 shell 脚本“script.sh”

现在在 script 中您必须添加以下语法:

echo " echo 3 >  /proc/sys/vm/drop_caches"

现在要设置运行权限,要清除 ram 缓存,您必须在需要时调用脚本,设置一个 cron 每天清除 RAM 缓存 3 小时。

# chmod 755 script.sh
# crontab -e

示例 4:在 Linux 中清除交换空间

您可以通过运行以下命令来清除交换空间

句法 :

sudo swapoff -a

sudo swapon -a

可以运行#free -h 命令查看清除交换空间前后已用内存和空闲内存的区别

将上述命令添加到 cron 脚本中,这里我们将这两个不同的命令合并为一个命令,以形成一个适当的脚本,这将帮助我们清除交换空间和 RAM 缓存。

现在 Ram 缓存和交换将被清除你可以运行 #free -h 命令来查看

运行命令后你会得到这样的输出