Linux内存不足时可启用Swap分区或文件:先检查状态,再启用现有分区或创建Swap文件,接着调整swappiness值优化交换倾向,最后可安全禁用移除。

如果您的Linux系统运行内存不足,导致程序响应缓慢或被内核终止,则可能是由于缺少Swap分区或Swap未启用。以下是启用Swap分区的具体操作步骤:
一、检查当前Swap状态
确认系统是否已配置Swap设备及当前启用状态,避免重复创建或误操作。
1、执行命令 swapon --show 查看已启用的Swap设备。
2、执行命令 free -h 观察Swap行的总量与使用量。
3、执行命令 cat /proc/swaps 列出所有Swap条目及其类型(分区或文件)。
二、启用现有Swap分区
若系统中已存在未激活的Swap分区,可直接启用而无需重建。
1、使用 sudo swapon /dev/sdXn 启用指定分区(如/dev/sdb2)。
2、验证启用结果:运行 swapon --show 确认该设备出现在输出中。
3、写入 /etc/fstab 实现开机自动挂载:添加一行 /dev/sdXn none swap sw 0 0。
三、基于文件创建Swap空间
当无空闲磁盘分区可用时,可创建Swap文件作为替代方案,适用于云服务器或LVM受限环境。
1、使用 sudo fallocate -l 2G /swapfile 创建2GB大小的文件(可根据需要调整-l参数)。
2、设置权限:执行 sudo chmod 600 /swapfile 防止非root用户读取。
3、格式化为Swap:运行 sudo mkswap /swapfile。
4、启用该文件:执行 sudo swapon /swapfile。
5、持久化配置:向 /etc/fstab 追加 /swapfile none swap sw 0 0。
四、调整Swap使用倾向性(swappiness)
swappiness参数控制内核将匿名页交换到Swap的积极程度,取值范围为0–100,默认通常为60;数值越低,越倾向于保留页面在物理内存中。
1、查看当前值:运行 cat /proc/sys/vm/swappiness。
2、临时修改为10:执行 sudo sysctl vm.swappiness=10。
3、永久生效:向 /etc/sysctl.conf 写入 vm.swappiness=10。
五、禁用并移除Swap设备
当需调试内存问题、更换Swap位置或彻底停用虚拟内存时,应先安全禁用再删除资源。
1、禁用指定Swap:执行 sudo swapoff /dev/sdXn 或 sudo swapoff /swapfile。
2、从 /etc/fstab 中删除对应Swap条目,防止重启后自动启用。
3、若为Swap文件,执行 sudo rm /swapfile 彻底清除。
4、若为Swap分区,可后续使用 sudo mkswap /dev/sdXn 重新初始化或分配给其他用途。










