启用swap可缓解linux内存紧张:先用swapon --show、free -h、cat /proc/swaps检查状态;再根据有无分区选择启用现有swap分区或创建swap文件;最后可调swappiness优化性能,并通过swapoff安全禁用。

如果您在Linux系统中发现内存资源紧张,系统响应变慢,可能是由于缺少交换空间(swap)导致物理内存无法有效扩展。以下是启用swap分区及创建交换空间的具体操作步骤:
一、检查当前swap状态
在执行任何配置前,需确认系统是否已启用swap以及其当前使用情况。该步骤用于获取基础信息,避免重复创建或误操作。
1、打开终端,输入命令 swapon --show 查看已启用的swap设备及其大小、类型和优先级。
2、运行命令 free -h 观察“Swap”行的total、used、free数值,确认是否为全零。
3、执行 cat /proc/swaps 验证内核识别的swap区域列表,空输出表示未配置任何swap。
二、基于已有分区启用swap
若系统中已存在格式化为swap类型的磁盘分区(如/dev/sdb1),可直接激活该分区作为交换空间,无需重新格式化。
1、使用 mkswap /dev/xxx 命令对目标分区进行swap签名写入(仅首次启用时需执行;若已执行过则跳过)。
2、运行 swapon /dev/xxx 立即启用该分区,例如 swapon /dev/sdb1。
3、编辑 /etc/fstab 文件,在末尾添加一行:/dev/xxx none swap sw 0 0,确保重启后自动挂载。
三、使用文件方式创建swap空间
当无可用空闲分区时,可在根文件系统中创建一个专用交换文件,该方法灵活且不依赖磁盘布局调整。
1、使用 fallocate -l 2G /swapfile 快速分配2GB大小的文件(可根据需要替换“2G”为“4G”等)。
2、设置严格权限防止非root用户读取:chmod 600 /swapfile。
3、将文件格式化为swap格式:mkswap /swapfile。
4、启用该文件:swapon /swapfile。
5、将条目写入 /etc/fstab:添加 /swapfile none swap sw 0 0。
四、调整swap使用倾向性(swappiness)
Linux内核通过swappiness参数控制内存页换出到swap的积极程度,数值范围为0–100,默认通常为60。降低该值可减少非必要swap使用,提升性能响应。
1、查看当前值:cat /proc/sys/vm/swappiness。
2、临时修改为10:sysctl vm.swappiness=10。
3、永久生效需编辑 /etc/sysctl.conf,追加一行:vm.swappiness=10。
五、禁用并安全移除swap设备
当需要停用某swap区域(如更换位置或调试问题),必须先关闭再卸载,否则可能引发I/O错误或系统不稳定。
1、执行 swapoff /dev/xxx 或 swapoff /swapfile 停用指定设备。
2、若为swap文件,可直接删除:rm /swapfile(确保已执行swapoff)。
3、从 /etc/fstab 中删除对应行,防止下次启动时报错。










