CentOS Swap空间不足时,可通过以下方式解决:
-
创建Swap文件
- 使用
dd或fallocate命令创建指定大小的Swap文件(如2GB):
sudo fallocate -l 2G /swapfile或sudo dd if=/dev/zero of=/swapfile bs=1M count=2048。 - 设置权限并格式化为Swap:
sudo chmod 600 /swapfile
sudo mkswap /swapfile。 - 启用并永久生效:
sudo swapon /swapfile
编辑/etc/fstab添加/swapfile swap swap defaults 0 0。
- 使用
-
扩展现有Swap分区(LVM场景)
- 查看LVM状态:
sudo vgs。 - 扩展物理卷:
sudo lvextend -L +2G /dev/mapper/vg_name-lv_swap。 - 重新格式化并启用:
sudo mkswap /dev/mapper/vg_name-lv_swap
sudo swapon /dev/mapper/vg_name-lv_swap。 - 更新
/etc/fstab确保重启生效。
- 查看LVM状态:
-
调整磁盘分区(非LVM场景)
- 用
fdisk创建新Swap分区,设置类型为Linux swap。 - 格式化并启用:
sudo mkswap /dev/sdXN(sdXN为新分区名)。 - 永久生效:编辑
/etc/fstab添加分区挂载信息。
- 用
-
优化Swap使用
- 调整
vm.swappiness参数(默认60,可设为10-30减少Swap依赖):
sudo sysctl vm.swappiness=10,并写入/etc/sysctl.conf永久生效。
- 调整
注意:操作前建议备份数据,优先使用LVM或Swap文件避免数据丢失风险。