需调整交换空间容量以满足内存调度需求,方法包括:一、替换交换文件;二、重建交换分区;三、扩展lvm逻辑卷;四、禁用并重建独立swap分区;五、使用文件型swap替代分区。

如果您已配置交换分区或交换文件,但当前容量无法满足内存调度需求,则需调整其大小以适配实际负载。以下是调整交换空间容量的多种方法:
一、调整现有交换文件大小
当系统使用交换文件(如/swapfile)时,可通过替换旧文件方式实现容量变更,操作不依赖磁盘分区结构,适用于已部署系统。
1、关闭当前启用的交换文件:sudo swapoff /swapfile。
2、删除原交换文件:sudo rm -f /swapfile。
3、创建新大小的交换文件(例如8GB):sudo fallocate -l 8G /swapfile。
4、重设权限防止未授权访问:sudo chmod 600 /swapfile。
5、重新格式化为swap类型:sudo mkswap /swapfile。
6、立即启用新交换文件:sudo swapon /swapfile。
7、验证生效状态:swapon --show | grep file,确认SIZE列显示新值。
二、重建图形化创建的交换分区
若原交换分区通过分区编辑器创建且磁盘存在可释放空间,可删除并重建分区以变更大小,该方式适用于桌面版用户且需重启生效。
1、在启动器中搜索并打开分区编辑器,输入密码授权。
2、右上角选择目标硬盘,定位原交换分区(FSTYPE列为swap)。
3、右键该分区,选择删除;注意:此操作将清除该分区全部数据。
4、在释放出的未分配区域右键→新建,弹出配置窗口。
5、设置文件系统类型为交换分区,输入新大小(如物理内存为6GB则设为6GB)。
6、点击确定后,点击界面左上角应用按钮执行格式化与写入。
7、操作完成后重启系统,使内核识别新交换分区并自动启用。
三、通过LVM逻辑卷调整交换空间容量
若交换空间位于LVM逻辑卷(如/dev/vg0/swap_lv),可利用LVM弹性特性在线调整大小,无需重启且支持热操作。
1、确认交换逻辑卷路径:swapon --show | grep lvm,记录NAME列值(如/dev/vg0/swap_lv)。
2、关闭该交换设备:sudo swapoff /dev/vg0/swap_lv。
3、扩展逻辑卷至新大小(例如扩展至12GB):sudo lvextend -L 12G /dev/vg0/swap_lv。
4、重新格式化该逻辑卷为swap:sudo mkswap /dev/vg0/swap_lv。
5、重新启用:sudo swapon /dev/vg0/swap_lv。
6、验证结果:swapon --show | grep /dev/vg0/swap_lv,检查SIZE是否更新。
四、禁用并重建独立Swap分区
该方法通过完全移除旧Swap分区并创建新大小的Swap分区实现扩容或缩容,适用于使用独立Swap分区(如/dev/sda2)且磁盘布局允许重新划分的场景。操作前必须确保目标分区已卸载且无活动交换任务。
1、执行sudo swapon --show确认当前启用的Swap设备路径。
2、执行sudo swapoff /dev/sda2(将/dev/sda2替换为实际Swap设备)禁用该Swap分区。
3、打开“磁盘管理器”,选中已卸载的Swap分区,点击顶部工具栏“删除”按钮将其转为未分配空间。
4、右键点击相邻未分配空间,选择“新建分区”,设置文件系统类型为swap,输入所需大小(例如8192 MB),点击确定。
5、新建完成后,右键点击该新swap分区,选择“启用交换”。
6、执行sudo swapon --show验证新Swap设备是否已激活并显示正确大小。
五、使用文件型Swap替代分区
当无法修改磁盘分区结构(如云主机、加密根分区、UEFI+GPT限制等场景),可创建一个位于根文件系统内的Swap文件。该方式无需重启、不依赖分区连续性,且支持按需增减大小。
1、执行sudo fallocate -l 6G /swapfile创建6GB大小的Swap文件(路径必须为绝对路径,建议置于/下)。
2、执行sudo chmod 600 /swapfile严格限制文件访问权限。
3、执行sudo mkswap /swapfile将文件格式化为swap类型。
4、执行sudo swapon /swapfile立即启用该交换文件。
5、编辑fstab确保开机自动挂载:echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab。











