为 Linux 添加 swap 分区或修改 swap 分区容量
后知后觉 暂无评论

机器的物理内存不足则需要调用 swap 进行处理,若物理内存不足而没有 swap 则会 kill 进程,影响程序工作。

新建交换分区

一般在系统安装时有提供界面配置 swap 分区,但部分发型版或者定制模板中则去掉了此功能。因此需要自行建立 swap 分区。

常见 swap 分区有两种:

以分区方式创建需要使用磁盘工具进行重新分区,因此本文使用虚拟文件方式添加,这种方式更加灵活,无需修改磁盘分区信息,对于 swap 分区的大小也容易调整。

注意:若物理内存已经足够使用,则没有必要进行配置,但为以防内存不足导致服务被杀死,建议即使物理内存足够也配置少量的交换分区进行使用。且磁盘为固态硬盘时,可以相对加大交换分区容量,若磁盘的读写速度较慢则不建议配置交换分区。

查看当前内存状态

free -h
提示:若没有交换分区再进行以下操作,若已经存在交换分区,请翻至修改交换分区容量。

创建虚拟交换分区文件

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
此命令会创建一个 1Gb 的虚拟交换分区文件,bs 为块大小,count 为制作次数。两者相乘为文件大小。

格式化虚拟文件

sudo mkswap /swapfile

修改虚拟交换文件权限

sudo chmod 600 /swapfile
需要注意的是:需要修改虚拟交换文件权限为低权限,否则系统会显示警告!

启动交换分区

sudo swapon /swapfile

配置开机自动挂载

sudo vim /etc/fstab

添加以下一行

/swapfile swap swap defaults,nofail 0 0

修改交换分区容量

先停止全部的交换分区

sudo swapoff -a
注意:此操作会关闭交换分区,然后将分区内数据写入物理内存,因此请先确保物理内存有足够空间后进行操作。

然后删除之前的虚拟文件,然后重新按照上述教程添加一次即可。


附录

参考链接

本文撰写于一年前,如出现图片失效或有任何问题,请在下方留言。博主看到后将及时修正,谢谢!
禁用 / 当前已拒绝评论,仅可查看「历史评论」。