给vps添加虚拟Swap交换分区
在计算机的上古时代,内存很小,所以我们装Linux系统时考虑分区要提前给把交换swap分区考虑进去,在硬盘上单独分一个区转做计算机内存的交换分区
现在大家都用vps又类似回到了上古时代,特别时内存只有512M起步的,(话说,前两年的内存也不贵,为啥给用户这么抠呢)又把linux内核升级到5.0+的。你能开机,然后干啥都不畅快。
但现在vps配置的硬盘基本都SSD起步了,好一点的都时NVMe固态硬盘了。所以我就有了一个大胆的想法。在硬盘上创建一个虚拟分区文件,然后挂载到系统作为内存的交换分区。
开始之前
在开始创建之前,请先使用如下命令检查您的 Ubuntu 系统是否已经启用了 SWAP 分区:
sudo swapon --show
如果输出为空,则表示当前系统尚未启用 SWAP 空间;反之,您将看到相关反馈。
创建SWAP分区文件。您可以执行以下步骤在 Ubuntu 18.04 系统中添加 SWAP 交换文件,通过以下命令创建一个用于 swap 的文件:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
tips: 提前把容量计算好 我这个1048576 对应的 时 1GByte 的大小
执行以下命令为 swapfile 文件设置正确的权限:
sudo chmod 600 /swapfile
使用 mkswap 格式化,这个命令大家多少年没用过了
sudo mkswap /swapfile
使用以下命令激活 swap 文件:
sudo swapon /swapfile
挂载虚拟内存文件到系统
要让创建好的 swap 分区永久生效,可以将 swapfile 路径内容写入到 /etc/fstab 文件当中, 编辑该文件
/swapfile none swap sw 0 0
编辑 /etc/fstab 文件示例:
~# vim /etc/fstab
添加最后一行的内容
LABEL=cloudimg / ext4 defaults 0 1 LABEL=UEFI /boot/efi vfat umask=0077 0 1 /swapfile none swap sw 0 0
使用 swapon 或 free 命令验证 SWAP 是否处于活动状态,如下所示:
sudo swapon --show sudo free -h
调整Swappiness值
Swappiness 是一个 Linux 内核属性,用于定义 Linux 系统使用 SWAP 空间的频率。Swappiness 值可以从 0 至 100,较低的值会让内核尽可能少的使用 SWAP 空间,而较高的值将让 Linux Kernel 能够更加积极地使用 SWAP 分区。
Ubuntu 18.04 默认的 Swappiness 值为 60,您可以使用如下命令来查看:
cat /proc/sys/vm/swappiness
如果是自己搭建的服务器,内存多的永不了就往小里调 少用虚拟内存。
sudo sysctl vm.swappiness=10
如果是虚拟vps内存少,就把数字往大了设置,多用虚拟内存,确保系统正常运行
sudo sysctl vm.swappiness=70
要让这个设置永久生效 编辑 /etc/sysctl.conf
如果要让设置在系统重启后依然有效,则必要在 /etc/sysctl.conf 文件中添加以下内容:
sudo vim /etc/sysctl.conf ## 在文件最后一行添加 vm.swappiness=70
重启系统。
移除SWAP分区
Ubuntu 24.04 要停用并删除 SWAP 文件,请按照下列步骤操作:
首先输入以下命令停用 SWAP 空间:
sudo swapoff -v /swapfile
2.在 /etc/fstab 文件中删除有效 swap 的行。
删除或注释掉
## /swapfile none swap sw 0 0
3.最后执行以下命令删除 swapfile 文件:
sudo rm /swapfile
在ubuntu 24.04 server 上测试通过。
登录后可以发表评论与回复。
还没有评论,来做第一个发言的人。