本文介绍在Debian 10 Linux系统上添加Swap交换空间的方法,包括调整Swappiness值、删除Swap交换文件。Swap是磁盘上的空间,当物理内存量已满时使用,当Linux系统用完RAM时,非活动页面会从RAM移动到Swap空间,Swap空间可以采用专用Swap分区或Swap文件的形式,通常在运行Debian虚拟机时,不存在Swap分区,因此唯一的选择是创建Swap文件,参考在Linux上创建交换文件和删除交换文件的方法。
在开始之前
虽然可能,但在一台机器上有多个Swap空间并不常见,要检查Debian安装是否已启用Swap,请运行以下命令:
sudo swapon --show
如果输出为空,则表示系统没有Swap交换空间。
否则,如果你得到类似下面的信息,你已经在你的Debian系统上启用了Swap:
要激活Swap,运行命令的用户必须具有sudo权限。
创建Swap交换文件
在这个例子中,我们将创建并激活1G的Swap,要创建更大的Swap,请将1G替换为所需Swap空间的大小。
以下步骤操作如何在Debian 10上添加Swap交换空间。
1、首先创建一个用于Swap的文件:
sudo fallocate -l 1G /swapfile
如果未安装fallocate或者你收到错误消息,指出fallocate失败:操作不受支持(fallocate failed: Operation not supported),你可以使用以下命令创建交换文件:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
2、只有root用户才能读取和写入交换文件,输入以下命令以设置正确的权限:
sudo chmod 600 /swapfile
3、使用mkswap工具在文件上设置Linux Swap区域:
sudo mkswap /swapfile
4、激活Swap文件:
sudo swapon /swapfile
要使更改永久,打开/etc/fstab文件:
sudo nano /etc/fstab
并粘贴以下行:
/swapfile swap swap defaults 0 0
5、使用swapon或free命令验证Swap是否处于活动状态,如下所示:
sudo swapon --show
sudo free -h
参考:free命令_Linux free命令使用详解:显示内存的使用情况。
调整Swappiness值
Swappiness是一个Linux内核属性,用于定义系统使用交换空间的频率,Swappiness可以具有0到100之间的值,较低的值将使内核尽可能避免Swap,而较高的值将使内核更积极地使用Swap交换空间。
默认的swappiness值为60,可以使用cat命令检查当前的swappiness值:
cat /proc/sys/vm/swappiness
返回数值:
60
虽然桌面可以使用60的swappiness值,但对于服务器,你应该设置较低的值。
例如,要将swappiness值设置为10,请输入:
sudo sysctl vm.swappiness=10
要使此参数在重新引导后保持不变,请将以下行附加到/etc/sysctl.conf文件:
vm.swappiness=10
最佳swappiness值取决于你的系统工作负载以及内存的使用方式,你应该以小增量调整此参数以查找最佳值。
删除Swap交换文件
要停用并删除交换文件,请执行以下步骤:
1、通过运行以下命令来停用交换空间:
sudo swapoff -v /swapfile
2、使用文本编辑器打开/etc/fstab文件,并删除交换文件条目/swapfile swap swap defaults 0 0。
3、最后,删除实际的swapfile文件:
sudo rm /swapfile
---end---