温馨提示×

Ubuntu Swapper:如何扩展交换分区

小樊
43
2025-10-07 12:08:04
栏目: 智能运维

Ubuntu Swapper扩展交换分区的完整步骤

扩展Ubuntu系统的交换空间(Swapper)可通过扩展现有交换分区创建新的交换文件两种方式实现。其中,交换文件更灵活且风险更低,推荐优先使用;若需调整物理分区大小,则需使用GParted等工具。以下是详细操作流程:

一、准备工作

  1. 备份重要数据:无论选择哪种方式,磁盘操作均有数据丢失风险,务必提前备份个人文件。
  2. 检查当前交换空间:通过以下命令查看现有交换分区的大小和使用情况,确认是否需要扩展:
    sudo swapon --show
    free -h
    

二、方法一:扩展现有交换分区(适用于已有交换分区的情况)

1. 禁用当前交换分区

若系统已使用交换分区(如/dev/sda2),需先禁用它以释放空间:

sudo swapoff /dev/sdXY  # 替换为你的交换分区名称(如/dev/sda2)

2. 调整分区大小

使用GParted图形工具(推荐新手)或fdisk命令行工具扩展分区:

  • GParted步骤
    1. 安装GParted(若未安装):sudo apt update && sudo apt install gparted
    2. 打开GParted,选择包含交换分区的磁盘;
    3. 右键点击交换分区,选择“Resize/Move”;
    4. 拖动分区边界或输入新大小(需确保相邻分区有未分配空间),点击“Apply”保存更改。
  • 命令行步骤(以fdisk为例)
    1. 运行sudo fdisk /dev/sdXsdX为磁盘名称,如/dev/sda);
    2. 输入p查看分区表,记下交换分区号(如/dev/sda2对应分区号2);
    3. 输入d删除交换分区(不会删除数据,仅移除分区表条目);
    4. 输入n创建新分区,选择原分区号,设置更大的起始扇区(保持与原分区一致),结束扇区(增加所需大小);
    5. 输入t将分区类型改为82(Linux swap);
    6. 输入w保存并退出。

3. 重新格式化交换分区

扩展分区后,需重新格式化为交换文件系统:

sudo mkswap /dev/sdXY  # 替换为你的交换分区名称

4. 重新启用交换分区

sudo swapon /dev/sdXY

5. 验证扩展结果

sudo swapon --show  # 查看新交换空间大小
free -h             # 确认总虚拟内存增加

三、方法二:创建新的交换文件(推荐,更灵活)

若没有现有交换分区,或希望快速扩展,创建交换文件是最便捷的方式:

1. 创建交换文件

使用fallocate(快速)或dd(兼容性好)命令创建指定大小的文件(如4GB):

  • fallocate命令
    sudo fallocate -l 4G /swapfile  # 创建4GB交换文件
    
  • dd命令(若fallocate不可用):
    sudo dd if=/dev/zero of=/swapfile bs=1M count=4096  # 1M×4096=4GB
    

2. 设置文件权限

为确保安全,交换文件仅能被root用户读写:

sudo chmod 600 /swapfile

3. 格式化交换文件

将文件转换为交换空间:

sudo mkswap /swapfile

4. 启用交换文件

sudo swapon /swapfile

5. 持久化配置(开机自动启用)

编辑/etc/fstab文件,添加以下行(确保重启后自动启用):

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

6. 验证扩展结果

sudo swapon --show  # 查看新增的交换文件
free -h             # 确认总虚拟内存增加

四、注意事项

  • 交换空间大小建议:通常为物理内存的1.5-2倍(如8GB内存建议12-16GB交换空间),但不超过32GB。
  • LVM用户的替代方案:若系统使用LVM(逻辑卷管理),可通过lvextend扩展逻辑卷,再用mkswap格式化,无需调整物理分区,更灵活。
  • 性能优化:交换文件位于SSD上时,性能优于HDD,建议将交换文件放在SSD分区中。

通过以上步骤,即可成功扩展Ubuntu系统的交换空间,提升系统在内存不足时的运行稳定性。

0