UOS系统Swap不足会导致卡顿、崩溃或OOM Killer,需按内存压力动态调整:①文件型Swap用fallocate/dd重建;②图形化工具重划分区;③LVM逻辑卷在线扩容。

UOS系统中Swap交换分区容量不足会导致高负载时卡顿、程序崩溃甚至触发OOM Killer,必须根据当前内存压力和物理内存大小动态调整Swap空间。操作前请确认已备份重要数据,部分方法会清空原有Swap设备。
用命令行替换现有交换文件
当系统使用/swapfile这类文件型Swap且磁盘无连续空闲空间时,此法最安全高效,不依赖分区结构,适用于绝大多数已部署桌面与服务器环境。
第一步:停用当前交换文件,避免写入冲突:sudo swapoff /swapfile。
第二步:彻底删除旧文件,防止残留占用inode:sudo rm -f /swapfile。
第三步:创建新大小的交换文件,例如为16GB物理内存配8GB Swap:sudo fallocate -l 8G /swapfile。若fallocate不可用(如XFS文件系统),改用dd命令:sudo dd if=/dev/zero of=/swapfile bs=1M count=8192。
第四步:设置严格权限,否则内核拒绝启用:sudo chmod 600 /swapfile。【权限必须为600,否则swapon会报错“swapon: /swapfile: insecure permissions 0644”】。
第五步:格式化并立即启用:sudo mkswap /swapfile && sudo swapon /swapfile。
第六步:验证是否生效:swapon --show | grep file,确认SIZE列显示8G且TYPE为file。
通过图形化分区编辑器重建Swap分区
适合不熟悉终端但有磁盘未分配空间的桌面用户,操作全程可视化,但需重启才能被内核识别为新Swap设备。
打开启动器→搜索“分区编辑器”→输入管理员密码授权。
右上角选择目标硬盘,定位原Swap分区(FSTYPE列为swap),右键→删除;注意:此操作将清除该分区全部数据。
在释放出的未分配区域右键→新建→弹出配置窗口→文件系统类型选“交换分区”→输入新大小(如物理内存为16GB,建议设为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。
最后验证:swapon --show | grep /dev/vg0/swap_lv,检查SIZE是否更新为12G。

















