如何在Linux系统中增加swap空间

系统教程3年前 (2021)发布 admin
1.3K 0 0

1. 前言

本文主要讲解如何在Linux系统上创建swap空间。

如何在Linux系统中增加swap空间

如何为Linux系统增加swap空间

swap空间是硬盘上的一个文件或分区,Linux操作系统用它来虚拟内存。当操作系统检测到物理内存已满,需要更多的内存才能正常运行应用程序时,它会使用swap空间并在里面存读数据。一般来说,swap是硬盘的一部分,用来扩展内存容量。Windows系统也有这样的机制,它叫页面文件。在Windows属性里可以设置大小,不过Windows系统页面文件只能基于文件,而Linux的swap空间可以基于文件,也可以基于分区。

如果没有swap空间,容易导致运行的程序崩溃。在这种情况下,设置swap空间是最好最简单的解决方法。

2. 为Linux系统增加swap空间

如何在Linux系统中增加swap空间

为Linux系统增加swap空间

按照以下步骤在您的Linux系统上创建并启用swap空间:

2.1 检查当前swap空间使用情况

执行以下命令检查当前是否有swap空间:

sudo swapon -s

如果没有任何信息输出,即可证明当前没有设置swap。

如果swap设置正确,可以看到以下输出。

文件名                类型      大小  已用  权限
/swapfile                                  file        2097148 109556  -2
如何在Linux系统中增加swap空间

检查当前swap空间使用情况

当然,你也可以使用free命令检查当前的swap使用情况:

free -m
如何在Linux系统中增加swap空间

使用free命令检查swap空间状态

2.2 创建swap文件

前面说过,Linux系统支持文件或者分区作为swap空间。目前最方便的方法是创建一个swap文件,而不是分区。在创建swap文件之前,请确保磁盘上有足够的空闲空间。一般来说,建议swap应该等于物理内存的2倍。

接下来创建swap文件,我以2G为例。

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

通过运行以下命令,使其转换格式并挂载到Linux系统中:

sudo mkswap /swapfile
sudo swapon /swapfile

2.3 设置开机自动挂载

执行上面的命令后,swap已被添加到您的系统中,操作系统在需要时会自动调用它。但重启后系统交换失效。

通过在/etc/fstab文件中附加以下内容,可以使其开机自动挂载。使用文本编辑器编辑fstab文件:

sudo vim /etc/fstab

在文件的最后增加以下内容:

/swapfile   none    swap    sw    0   0

保存退出,下次重启服务器时会自动挂载。

2.4 检查swap空间

执行以下命令检查swap空间:

sudo swapon -s
free -m
如何在Linux系统中增加swap空间

检查swap空间

3. 更新Swappiness参数

接下来需要修改swappiness内核参数。它告诉Linux系统使用这个swap空间的频率。

编辑文件/etc/sysctl.conf

sudo vim /etc/sysctl.conf

在最后插入一行:

vm.swappiness=10

现在重载sysctl的配置文件:

sudo sysctl -p

4. 结论

通过本教程,您应该可以学习到如何在Linux系统中,为系统增加swap空间了吧。swap空间是Linux系统的组成部分。在安装Linux系统的时候,系统默认会自动分区,包括swap空间。如果swap空间不够用,可以考虑通过本文介绍的方法为系统增加swap空间。如果您有更好的方法,请留言。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...