跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

麒麟操作系统如何修改SWAP分区大小 银河麒麟虚拟内存优化

麒麟系统内存不足时需调整SWAP大小,方法包括:一、扩展现有Swap文件;二、替换重建更大Swap文件;三、LVM逻辑卷动态扩容;四、更新fstab确保开机生效。

如果您在麒麟操作系统中运行内存密集型应用时出现卡顿、响应迟缓或系统提示“内存不足”,则可能是当前SWAP分区容量已无法满足运行需求,需调整其大小以增强虚拟内存缓冲能力。以下是修改SWAP分区大小的多种可行方法:

一、扩展现有Swap文件大小

该方法适用于已通过dd或fallocate创建Swap文件但容量不足的场景,无需删除原Swap,直接扩容可避免重启服务中断,操作安全且可逆。

1、关闭当前Swap文件:

sudo swapoff /usr/swap/swapfile。

2、使用fallocate将文件扩展至16GB(若原为8GB):

sudo fallocate -l 16G /usr/swap/swapfile。

3、重新设置权限以符合安全要求:

sudo chmod 0600 /usr/swap/swapfile。

4、重新格式化为Swap类型:

sudo mkswap /usr/swap/swapfile。

5、重新启用该Swap文件:

sudo swapon /usr/swap/swapfile。

6、验证扩容结果:

free -h,确认Swap行total值更新为16.0G且state为active。

二、替换Swap文件并重建更大容量

当原Swap文件存在损坏风险、路径碎片化严重或需彻底重置状态时,建议删除旧文件并新建更大容量Swap文件,确保文件系统一致性与性能稳定性。

1、停用并移除旧Swap:

sudo swapoff /usr/swap/swapfile && sudo rm -f /usr/swap/swapfile。

2、创建新Swap目录(如不存在):

sudo mkdir -p /usr/swap。

3、生成24GB Swap文件(使用dd保证跨文件系统兼容性):sudo dd if=/dev/zero of=/usr/swap/swapfile bs=1M count=24576。

4、严格限制访问权限:

sudo chmod 0600 /usr/swap/swapfile。

5、格式化并立即启用:

sudo mkswap /usr/swap/swapfile && sudo swapon /usr/swap/swapfile。

6、检查生效状态:

swapon --show,确认size列显示24.0G且type为file。

三、基于LVM逻辑卷动态调整Swap大小

适用于已部署LVM管理的银河麒麟服务器环境,可通过lvresize实现在线扩容(需先停用Swap),支持灵活伸缩且I/O性能更优,适合长期高负载生产系统。

1、停用当前LV Swap设备:sudo swapoff /dev/mapper/klas-lv_swap。

2、扩展逻辑卷容量至8GB:

sudo lvresize -L +4G /dev/mapper/klas-lv_swap。

3、重新格式化扩展后的空间:

sudo mkswap /dev/mapper/klas-lv_swap。

4、重新激活Swap逻辑卷:

sudo swapon /dev/mapper/klas-lv_swap。

5、验证扩容后大小:

cat /proc/swaps | grep lv_swap,确认Size字段为8388604(KB)即8GB。

四、同步更新fstab确保开机挂载新大小

所有Swap文件或逻辑卷的大小变更均需写入/etc/fstab,否则系统重启后将恢复原配置,导致虚拟内存优化失效。

1、备份原始fstab文件:

sudo cp /etc/fstab /etc/fstab.bak。

2、编辑fstab配置:

sudo vim /etc/fstab。

3、定位原有Swap条目(如

/usr/swap/swapfile swap swap defaults 0 0),确认其路径与当前实际文件一致。

4、保存退出后执行校验:

sudo mount -a,无报错表示fstab语法正确。

5、重启前再次确认:

sudo swapon --show输出应与fstab中定义完全匹配。

相关文章