Linux教程
Linux目录
Linux命令
Linux用户
Linux文件
Linux进程
Linux查询
Linux I/O
Linux正则
Linux安全
Linux shell
Linux网络
Linux VI
Linux 系统命令
Linux 其他

Linux 清除缓存

清除Linux缓存

在本教程中,我们将学习如何清除Linux中的RAM缓存并清理交换空间。
就像其他所有操作一样在系统方面,GNU/Linux还实现了内存管理系统。尽管,Linux的内存管理比其他操作系统效率更高,甚至使用率更高。但是,在某些情况下,您想控制内存管理,或者有一个或多个进程耗尽了系统的RAM。在这种情况下,我们想停止它; Linux 提供了几种刷新(清除ram缓存)的方法。
清除缓存Linux

如何清除Linux中的缓存?

几乎在每个Linux系统中,都有三种方法提供以清除缓存。其中一些可以显着使用,而不会中断任何正在进行的进程或服务。三种方式如下:
仅清除PageCache 清除牙齿和inode 清除牙科和inode,清除PageCache
我们将详细讨论所有这三种方法,并查看它们的实际实现:

1、仅清除PageCache-

此方法是清除Linux缓存的最安全方法之一,因为它可以清除缓存而不会终止任何正在进行的操作,应用程序和服务。据说这是清理缓存的最安全方法,因为它可以在生产环境中使用,并且它仅清理PageCache。在此方法中,使用了以下命令:
命令
 #  sync ; echo 1 > proc/sys/vm/drop_caches
说明:
在以上命令中," sync "用于刷新文件系统缓冲区,并且该命令是分开的使用顺序执行的" ; "。
但是,shell在开始执行序列中可用的下一个命令之前,等待每个命令被执行或终止。
drop_caches 用于刷新或清理缓存,而不会杀死或影响任何其他正在运行的应用程序或服务,这在内核文档中也有明确提及。 " echo "命令完成写入文件的工作。
使用终端清除PageCache的步骤:
Step.1-在Linux中打开终端,然后输入以下给定命令,然后按Enter。命令执行后,将显示有关系统内存的信息,如示例所示:
Command
free 
上面的命令用于显示已使用的内存量,并显示其他因素,例如总可用内存,交换内存等。我们可以在此之前和之后使用此" free "命令
必须在执行实际命令之前和之后使用" free"命令,以便我们可以轻松地查看或检测内存分配的变化。让我们看一个示例,以了解整个过程实际上是如何工作的:
示例
清除缓存Linux

2、清除牙齿和i节点-

此方法用于清除牙齿和i节点的内存。它与第一种方法一样,但略有不同,因为它用于清除牙科和i节点的内存,而不是清除PageCache的内存。仍然很像我们上面讨论的第一种方法。在此方法中使用的命令如下:
命令
# sync ; echo 2 >  proc / sys / vm / drop_caches
让我们看一个示例来了解如何实现此方法:
示例
清除缓存Linux

3、清除牙科和inode,清除PageCache

这是最有效的方法之一。尽管如此,传统上不建议您在知道要做什么之前使用它,因为它被认为不是最安全的使用方法,尤其是在生产中。此方法中使用的命令使用" echo 3>"来同时清除PageCache,牙科和inode。
命令:
# sync ; echo 3 > / porc / sys / vm / drop_caches
要详细了解其实际工作原理,请考虑以下示例:
示例:
清除缓存Linux
注意: 不建议您在生产环境中使用它,除非您知道自己在做什么,因为它会立即清除PageCache和dentries,以及inode,正如我们上面已经讨论过的那样。

交换空间

通常,当物理内存的利用率几乎达到峰值时使用交换空间。因此,当系统需要更多内存资源并且物理内存已满时,所有不活动的页面都将转移到交换内存空间。
但是,交换内存空间还可以帮助系统变小,但是有效量的公羊。仍然毫无疑问,不建议将交换空间视为物理内存。

如何在Linux中清除交换空间?

要清除交换空间您的系统,只需要关闭交换即可。这会将所有数据从交换内存移回 RAM 。这也意味着您需要确保系统中有足够的RAM来支持此操作。
一种简单的方法是运行'free-m' >命令以查看交换,RAM中正在使用的内容,然后禁用该交换。
关闭它后,您应该等待30秒或更长时间,以便有一些时间来完成操作,然后重新打开"交换"。这将清除交换内存缓存并重新启用它,但是在清除交换之前,您应该查看系统的当前(或默认)设置。
要查看系统交换的当前设置,您只需要要打开终端,请使用以下命令,如输出所示:
cat /proc/sys/vm/swappiness
输出
清除缓存Linux
您可以看到,我们系统的当前Swappiness值是" 60"秒。但是,如果要更改它,可以将其设置为0到100之间的任意值。编辑(更新)该值的过程非常简单。全部,您需要在终端中键入以下命令,然后按Enter:
命令:
sudo sysctl vm.swappiness=x 
(这里x是我们想要设置的交换值)
如您在上述输出中看到的,我们系统的当前交换值(或默认值)为60。让我们尝试将交换值更改为40。
1、通过按键盘上的 Ctrl + Alt + T 打开终端。
清除缓存Linux
2、终端打开后,键入以下命令并按Enter,如下图所示:
sudo sysctl vm.swappiness=40
输出
清除缓存Linux
注意: 它可能会要求您输入密码,因为我们需要使用superUser(root用户)权限运行此命令。
验证
要验证交换值是否已成功更新,请键入以下命令,然后按Enter键:
cat /proc/sys/vm/swappiness
输出
清除缓存Linux
您可以在输出中看到,我们已成功将交换值更新为40。

清除交换空间

要清除交换空间,此过程非常简单,因为我们只需循环,因为所有数据或非活动页面都将从Swap存储空间传输回RAM。循环完成交换后,必须等待30秒,然后需要重新启动或再次在交换空间上循环。
有用的命令:
这些以下是一些基本命令,可以帮助我们清理交换空间:
清除缓存Linux
清除交换内存的步骤
让我们看看如何使用以下命令清除交换空间或内存:
Step1、通过按键盘上的" Ctrl + Alt + T "打开终端。
Step2、打开终端后,键入" sudo-i "命令,因为我们可能需要超级用户特权才能运行上述命令:
清除缓存Linux
Step3、键入" free-m"命令以查看内存利用率,然后关闭 交换:
清除缓存Linux
步骤-4 现在,键入" 交换-a "命令,然后按Enter键关闭交换,如下所示:
清除缓存Linux
Step5、 关闭循环后,交换操作至少要等待40秒。
第6步。现在键入" swap-a",然后按Enter键以重新启用"交换"。要查看内存使用率的差异(或变化),请再次运行" free-m"命令,如下所示:
清除缓存Linux
希望,如果您遇到这种情况,这将帮助您清除系统的交换内存。

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4