系统弹出“swap空间不足”的警告时,通常意味着内存已经接近极限——界面会出现明显卡顿、应用程序无响应,甚至OOM Killer开始随机终止进程。如果你使用的是统信UOS,遇到这种情况不必慌张,关键在于对症处理:可以通过命令行快速替换交换文件,也可以借助图形化工具重建分区,或者针对LVM逻辑卷实现在线扩容。下面逐一详细说明。

使用终端命令快速扩容交换文件
如果你的系统采用 /swapfile 交换文件,且磁盘仍有剩余空间,这个方法最为高效简洁——全程只需5个步骤,无需重启,桌面环境和云主机均可直接应用。
首先停用当前的交换文件,避免操作冲突: sudo swapoff /swapfile。
接着彻底删除旧的swap文件,以免inode残留占用空间:sudo rm -f /swapfile。
然后重新创建指定大小的交换文件。例如,物理内存为16GB,想分配8GB的Swap,可以执行:sudo fallocate -l 8G /swapfile。但需要注意,某些文件系统(如XFS)可能不支持fallocate,这时可以改用sudo dd if=/dev/zero of=/swapfile bs=1M count=8192。
权限设置这一步不能省略,否则内核会直接拒绝加载:sudo chmod 600 /swapfile。必须特别强调:【权限必须设为600,否则swapon会报错“insecure permissions”】。
最后,格式化并启用新的交换文件:sudo mkswap /swapfile && sudo swapon /swapfile。
通过图形化分区编辑器重建Swap分区
此方案更适合不习惯命令行的桌面用户。前提是磁盘上存在未分配空间,操作全程可视化,但需要重启才能生效。
先打开启动器,搜索并启动“分区编辑器”,输入管理员密码授权。然后在右上角选择目标硬盘,找到原有的Swap分区(FSTYPE列会显示为swap),右键选择“删除”——注意,该操作会清空该分区的所有数据。在释放出的未分配区域右键新建,配置窗口中将文件系统类型设为“交换分区”,再输入新的大小(例如物理内存16GB,Swap建议设为8GB)。点击确定后,务必点击界面左上角的“应用”按钮,执行格式化与写入。【此操作会格式化所选区域,原有数据不可恢复】。操作完成后重启系统,新的Swap分区便会自动启用。
扩展LVM逻辑卷上的Swap空间
如果你的Swap部署在LVM逻辑卷上(例如 /dev/vg0/swap_lv),灵活性会更高——可以在线扩容,无需重启,非常适合生产环境。
首先确认当前Swap对应的逻辑卷路径:swapon --show | grep lvm,记录NAME列的完整路径。然后停用该逻辑卷:sudo swapoff /dev/vg0/swap_lv。接下来扩展逻辑卷,比如要扩到12GB:sudo lvextend -L 12G /dev/vg0/swap_lv;如果只想增加4GB,可以使用 lvextend -L +4G。这一步完成后,必须重新格式化:sudo mkswap /dev/vg0/swap_lv,否则内核无法识别。最后重新启用:sudo swapon /dev/vg0/swap_lv。
验证Swap是否生效
完成上述操作后,需要验证是否真正生效。执行 swapon --show,检查SIZE列是否显示目标值,TYPE是否为file/partition/lvm,STATE列是否显示active。再用 free -h 确认Swap行的Total值与预期一致,Used值没有持续偏高。如果仍然提示空间不足,可能需要检查是否存在多个Swap设备的优先级冲突——用 swapon --show=NAME,PRIORITY 确认高优先级设备已启用,且容量足够。
