如何修改SWAP 交换内存提升主机性能?

User avatar placeholder
Written by Andy

2025年1月21日

什么是SWAP?

SWAP是Linux系统中的一种交换分区,类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。

当我们使用一些小主机,即使采用 WordOps 来部署运维环境,也总会碰上内存不够使用的窘况,这时我们来提升SWAP空间大小,可以提升系统运行性能。

如何增加 SWAP 空间?

查看当前系统swap空间

free -m

这里可以看到系统默认配置的SWAP空间,以及原始内存size。

增加swap文件

cd /usr

进入usr文件夹。

mkdir swap
cd swap

创建swap文件夹并进入该文件夹。

ll

查看文件及目录详情。这里因为是新建文件夹,显示总量0。

dd if=/dev/zero of=/usr/swap/swapfile1 bs=1M count=2048

bs=1M 表示写入的每个块的大小为1M,count=2048 表示总共建立2048M的swap文件。

查看创建的swap文件大小

du -sh /usr/swap/swapfile1

将目标文件标识为swap分区文件

mkswap /usr/swap/swapfile1

激活swap文件

swapon /usr/swap/swapfile1

修改/etc/fstab文件,在末行增加以下内容

vim /etc/fstab

如果提示vim命令不存在,在ubuntu系统中,可以输入 apt install vim -y 来安装vim。

/usr/swap/swapfile1 swap swap defaults 0 0

在 fstab 文件的最后一行黏贴以上代码。

vim的基础操作:

键盘按下i,进入编辑模式;

编辑模式下回车键入一个空行;

按ESC键退出编辑模式,输入英文”:”冒号,然后输入wq,回车保存退出vim。

查看swap是否挂载成功

swapon -s

如何删除 SWAP 空间?

当你输入上面查看swap挂载列表,会发现原来有默认的swap文件在挂载,或许你想删除它。

关闭swap

swapoff /usr/swap/swapfile1

这里注意命令后面指向的是上面刚挂载的swap文件,修改为列表里你想删除的文件。

修改删除 fstab 文件

看上面那段vim操作代码,相同的操作进入fstab文件,找到并删除对应的swap文件相关的信息。

如何修改 SWAP 触发时机?

这里我们使用 swappiness 设置 swap 的使用时机。

cat /proc/sys/vm/swappiness

0 意味着“在任何情况下都不要发生交换”,100 的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

修改swap触发积极值

vim  /etc/sysctl.conf

在sysctl.conf文件中最后一行加入以下代码:

vm.swappiness=60

保存修改并退出。

Ended. Enjoy it!

Image placeholder

Lorem ipsum amet elit morbi dolor tortor. Vivamus eget mollis nostra ullam corper. Pharetra torquent auctor metus felis nibh velit. Natoque tellus semper taciti nostra. Semper pharetra montes habitant congue integer magnis.

发表评论