如何在 Linux 中创建自定义大小的交换文件?

如果您使用旧硬件运行任何系统内存 (RAM) 非常低的 Linux 发行版,建议创建一个交换分区。 交换分区本质上是系统用作“额外 RAM”的磁盘存储的一部分。 如果内存满了,这个额外的磁盘空间就会开始交换内存。 一旦 RAM 空闲,磁盘会将所有进程传输回记忆棒。

与交换分区相比,交换文件被认为是更好的选择,因为您可以在将来需要时轻松调整文件大小,并且您不必经历使用 Gparted 调整所有分区大小的麻烦。

如果您不知道什么是交换,请先阅读有关 Linux 交换的更多信息。

为什么要使用交换?

使用交换的原因有很多,无论是分区形式还是交换文件形式。 他们之中有一些是:

  1. 如果您的 RAM 小于或等于 4 Gb,则建议创建交换。
  2. 如果您打算让您的 PC 休眠,那么您应该创建一个与安装在您的 PC 上的 RAM 相等的交换空间。
  3. 即使你有 32 或 64 GB 的 RAM,即使你不会使用它,仍然建议创建一些交换空间,最好是安全的。

检查您的系统上是否已提供交换

许多发行版在您安装它们时会自动创建一个交换文件或交换分区。 所以你可能应该检查是否有任何可用的交换。 在终端中键入以下命令:

free -h 
我的电脑中没有交换

如果 Swap 在您的机器上可用,那么您应该检查它是交换文件还是交换分区。 Ypou 可以使用以下命令进行检查:

swapon --show 

在 Linux 中创建交换文件

出于演示目的,我将创建一个 2 GB 的文件,但您可以创建自己喜欢的大小。 在终端窗口中键入以下内容:

sudo fallocate -l 2G /swapfile 
创建交换文件

我们还必须更改交换文件的权限,以便仅 admin 有读或写的权利。 您可以使用更改权限 修改 命令

sudo chmod 0600 /swapfile 

现在,您必须告诉您的操作系统您已经创建了一个交换空间并且您的系统应该开始使用它。 您可以通过键入以下命令来执行此操作:

sudo mkswap /swapfile 
给予适当的许可并创建交换给予适当的许可并创建交换

最后,您只需打开交换文件。 您可以通过键入:

sudo swapon /swapfile 

现在,如果你输入 免费-h,你可以看到我们正在使用交换。

系统现在正在使用交换文件系统现在正在使用交换文件

现在剩下的就是我们必须使上述更改永久化。 我们必须修改 fstab 现在归档。 键入以下命令:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab 
您的 Fstab 文件现在应该如下所示您的 Fstab 文件现在应该如下所示

概括

Swap 显然比 RAM 慢,因此不建议在高端 PC 上使用超过 1 或 2 GB 的 swap。 您还可以通过在 /etc/sysctl.conf 文件 :

vm.swappiness=10 

Swappiness 的范围在 0 到 200 之间,建议使用较低的值以避免激进的交换。

参考

交换 – ArchWiki