Linux 上的交换文件入门

本指南将通过定义交换文件是什么以及它在保持系​​统稳定中所起的重要作用向您介绍 Linux 中的交换文件。

什么是交换文件?

Linux 中的交换文件是硬盘上的一个文件,Linux 内核使用它来存储计算机上运行的应用程序的可变数据。 当随机存取存储器 (RAM) 不够用时,称为交换的进程负责将数据传输到交换文件。

假设您正在运行一个内存密集型应用程序并且系统开始使用 100% 的 RAM,Linux 操作系统将使用交换文件来避免您的 RAM 被填满并导致您的系统无响应或更糟:崩溃。

笔记:从交换文件中读取数据比直接从 RAM 中读取要慢一些,但它比让系统崩溃更好。

使用 swapon 查看您的交换文件

要获取有关系统上交换文件的信息,请运行以下命令:

swapon

上面命令的输出将类似于下面显示的输出。

输出显示 /根 文件夹包含系统的交换文件,名为 交换文件. 此外,交换文件的大小为 2GB,目前系统正在使用大约 41 兆字节的交换文件空间。

由于 RAM 和交换空间一起工作以存储临时数据,您可能需要有关它们的详细信息。 您可以使用 自由 命令。

free -h

如何在 Linux 上创建交换文件

如果您的 RAM 遇到性能问题,那么您应该考虑创建或增加交换文件的大小。

如果您有一个 RAM 较低的系统,对于 example2GB,您应该创建一个大约两倍于您的 RAM 即 4GB 大小的交换文件。

另一方面,如果您的系统上有足够的 RAM 空间, example8GB 那么你的交换文件可以是你 RAM 的 25%,即 2GB,因为你的 RAM 可以容纳更多的应用程序变量数据。

在创建新的交换文件之前,请确保禁用当前 /交换文件

sudo swapoff /swapfile

现在使用 分配 命令。

sudo fallocate -l 2G /swapfile

如果您没有交换文件,上述命令将为您创建一个,但如果您已经有一个,它将覆盖现有的。

在 Linux 上调整 Swappiness

Swappiness 是 Linux 内核用来确定 RAM 应该多久使用一次交换文件的值。 默认情况下,该值设置为 60。该值越高,您的 RAM 使用交换文件的频率越高,如果您的 RAM 较低,这是理想的选择。 可能的交换文件值范围为 0 到 100。

要查看您的 swappiness 值,请运行以下命令:

cat /proc/sys/vm/swappiness

要临时更改系统上的 swappiness 值,对于 example20, 使用如下命令:

sudo sysctl vm.swappiness=20

笔记:系统重新启动后,此值将重置为默认值。

要坚持您的交换,您应该附加以下行 vm.swappiness=20 在你的底部 等/sysctl.conf 配置文件。

确保重新启动系统以使更改生效。

reboot

如何删除交换文件

要删除不再需要的交换文件,首先使用禁用它 换掉 然后使用 rm 命令删除你的文件。

sudo swapoff /swapfile
sudo rm /swapfile

使用专用分区进行交换

使用交换文件,您应该期望系统有更好的性能,因为交换文件将防止您的系统在运行内存密集型应用程序时崩溃。

对于任务关键型系统,您可能会考虑在硬盘上创建一个专用分区以进行交换。 交换分区和交换文件各有优缺点。