可通过创建swap文件或分区快速增加linux虚拟内存:先用fallocate创建文件并mkswap格式化,再swapon启用;写入fstab实现永久生效;调整swappiness优化性能;禁用时需swapoff后删除文件或分区。

如果您需要为Linux系统快速增加虚拟内存以缓解物理内存不足的问题,则可以通过创建并管理Swap交换分区来实现。以下是具体的操作步骤:
一、创建Swap文件
Swap文件是一种无需重新分区即可快速启用交换空间的方式,适用于大多数现代Linux发行版。它通过在根文件系统中创建一个专用文件,并将其格式化为swap类型来使用。
1、使用fallocate命令快速分配指定大小的空文件,例如创建2GB的swapfile:
sudo fallocate -l 2G /swapfile
2、设置该文件权限为仅root可读写,防止其他用户访问:
sudo chmod 600 /swapfile
3、将该文件格式化为swap类型:
sudo mkswap /swapfile
4、启用该swap文件:
sudo swapon /swapfile
二、永久启用Swap文件
临时启用的swap在系统重启后会失效,需将其写入/etc/fstab以实现开机自动挂载。该操作确保swap配置持久生效,避免每次重启后手动启用。
1、备份原始fstab文件以防误操作:
sudo cp /etc/fstab /etc/fstab.bak
2、向fstab末尾追加swap挂载条目:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
3、验证fstab语法是否正确,避免启动失败:
sudo swapon --show
三、调整Swappiness值优化性能
swappiness参数控制内核将页面从物理内存交换到swap的倾向程度,取值范围为0–100。较低值减少不必要的swap使用,更适合内存充足的系统;较高值则更积极地使用swap以保留更多缓存空间。
1、查看当前swappiness值:
cat /proc/sys/vm/swappiness
2、临时修改为10(推荐桌面环境):
sudo sysctl vm.swappiness=10
3、永久生效需写入sysctl配置文件:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
四、禁用并删除Swap文件
当不再需要swap或需更换大小时,必须先安全禁用再移除文件,否则可能导致系统异常或数据残留。禁用过程需确保当前无活跃swap使用。
1、检查当前swap使用状态:
free -h
2、关闭指定swap文件:
sudo swapoff /swapfile
3、从fstab中删除对应行(建议使用sed或手动编辑):
sudo sed -i '/swapfile/d' /etc/fstab
4、删除swap文件本身:
sudo rm /swapfile
五、使用独立Swap分区替代Swap文件
在系统安装初期或具备未分配磁盘空间时,创建独立Swap分区可提供比文件方式更稳定的I/O性能,尤其适用于高负载服务器场景。该方式绕过文件系统层,直接由内核管理块设备。
1、使用fdisk或parted在空闲磁盘上创建新分区(如/dev/sdb2),并将分区类型设为82(Linux swap)
2、格式化该分区为swap:
sudo mkswap /dev/sdb2
3、启用该分区:
sudo swapon /dev/sdb2
4、将UUID方式写入fstab(先用blkid获取UUID):
echo 'UUID=xxxx-none-swap-sw-0-0 none swap sw 0 0' | sudo tee -a /etc/fstab










