Debian/Ubuntu手工添加Swap分区

很多认为swap是物理RAM内存已满时才使用swap。这是一个错误的认知,因为内核会将非活动页面将从内存移动到交换空间swap。

交换空间swap可以采用专用交换分区或交换文件的形式创建。通常,在虚拟机运行Debian 10时,不存在交换分区,唯一的选择是创建交换文件。

交换空间swap不应视为物理内存的替代。由于交换空间是硬盘驱动器的一部分,因此它的访问速度比物理内存慢。

如果您的系统不断出现内存不足的情况,则应添加更多内存RAM。交换空间旨在改善系统的性能,并不会增加系统的总内存。

准备工作

首先,检查你的系统是否已经有 Swap 分区:

swapon -s

或者

free -m

或者

sudo swapon --show

如果没有返回结果或者 free -m 中 Swap 一列数值是 0,则表示你的系统没有 Swap 分区。

推荐的 Swap 分区大小

物理内存大小 推荐的 swap 分区大小
≤ 2GB 2倍 RAM
2GB – 8GB = RAM
>8GB 8GB

创建 SWAP 分区

我们可以使用 fallocate 命令创建一个 1GB 大小的 Swap 分区:

fallocate -l 1G /swapfile

如果这个命令无法使用,请安装 util-linux 包:

apt install util-linux

然后设置这个文件的权限:

chmod 600 /swapfile

然后激活 SWAP 分区

mkswap /swapfile
swapon /swapfile

此时,你可以使用 swapon -s 或 free -m 命令查看 Swap 分区是否已经激活。

设置开机自启

我们需要编辑 /etc/fstab 这个文件,加入下面的内容即可:

echo "/swapfile swap swap defaults 0 0" >> /etc/fstab

大功告成,使用 free -m 命令查看 Swap 分区是否正确:

调整系统内核 Swappiness 值

Swapiness 是 Linux 内核的一个属性,定义了系统使用交换空间的频率,Swapiness 的值在 0 到 100 之间(默认是 60),一个低的值会使内核尽可能地避免交换,而一个高的值会使内核更积极地使用交换空间。

这个值默认是 60,我们可以使用 cat /proc/sys/vm/swappiness 命令查看当前值。

一般我们可以给他改成 10:

echo "vm.swappiness=10" >> /etc/sysctl.conf

然后使用 sysctl -p 命令使其生效。

关闭 Swap

有时候我们需要关闭 Swap 分区,可以使用下面的命令:

首先,停用 Swap 分区:

swapoff -v /swapfile

然后检查 /etc/fstab,删除 /swapfile swap swap defaults 0 0 这一行。

最后删除 /swapfile 这个文件:

rm /swapfile
 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:番茄网 » Debian/Ubuntu手工添加Swap分区

分享到: 生成海报

评论 抢沙发

  • QQ号
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

像番茄一样 表里如一

表里如一表里如一
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活