如何在Linux中创建交换文件

时间:2019-04-29 03:17:53  来源:igfitidea点击:

交换内存是系统永久存储(硬盘)的一部分。
当系统发现系统的物理内存已满时,它会自动开始使用系统上可用的交换内存。
简单地说,交换内存是作为系统RAM使用的硬盘的一部分。
如果系统面临诸如系统经常耗尽内存之类的问题,并且我们不想增加物理内存。
那么这就是在系统上添加交换内存的最好方法。
请记住,交换内存很好,但比物理内存慢得多。
本教程将在Linux系统上创建交换文件,并将其用作交换内存。

在Linux中创建交换文件

下面是在Linux机器上创建交换文件并在系统中进行配置的一步一步教程。

检查系统交换

在开始工作之前,检查系统是否已经启用了交换。

sudo swapon -s

我们还可以使用free或top命令来查看交换内存。

创建交换文件

让我们创建一个文件,用于系统中所需大小的交换。
在创建文件之前,请确保磁盘上有足够的空闲空间。
通常,它建议交换应该等于已安装物理内存的两倍。
我的系统安装了2gb的物理内存。
所以我用下面的命令创建了一个4gb的交换文件。
然后在文件中设置适当的权限:

sudo fallocate -l 4G /swapfile
chmod 600 /swapfile

制作交换文件

现在使用 mkswap命令将此文件作为交换可用文件。

sudo mkswap /swapfile

启用交换

然后,使用 swapon命令启用系统上的交换内存。

sudo swapon /swapfile

现在,再次检查交换是否启用。
我们将看到如下的结果。

sudo swapon -s

Filename                Type        Size    Used    Priority
/swapfile               file        4194300 0       -1

设置交换内存永久生效

/etc/fstab文件中附加以下条目,以便在系统重新启动时启用交换。
这是一个好主意,使这个文件之前的变化:

cp /etc/fstab /etc/fstab.backup
vim /etc/fstab

/swapfile   none    swap    sw    0   0

设置内核参数

现在根据要求更改内核参数 swappiness
它告诉系统系统使用这个交换区域的频率。
/etc/sysctl.conf文件,并添加在配置文件后面。

sudo vim /etc/sysctl.conf

vm.swappiness=10

现在重新加载sysctl配置文件

sudo sysctl -p

禁用交换

如果我们不需要交换文件或需要增加交换文件。
可以使用以下命令禁用系统上已经活动的交换文件。

swapoff /swapfile

我们可以使用上述步骤创建一个新的更大的交换文件,也可以禁用/etc/fstab文件中的条目。

总结

我们已经在Linux机器上成功创建了交换文件,并将其配置为交换内存。