机器的物理内存不足则需要调用 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
注意:此操作会关闭交换分区,然后将分区内数据写入物理内存,因此请先确保物理内存有足够空间后进行操作。
然后删除之前的虚拟文件,然后重新按照上述教程添加一次即可。
附录
参考链接
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2023-10-08 14:22 PM