linux

Linux swap如何调整大小

小樊
49
2025-08-23 09:37:12
栏目: 智能运维

在Linux系统中,调整swap分区的大小可以通过以下步骤完成:

增加swap分区大小

  1. 关闭swap分区

    sudo swapoff -a
    
  2. 扩展物理卷(如果需要) 如果你的swap分区是基于LVM的,你需要先扩展物理卷:

    sudo lvextend -l +100%FREE /dev/mapper/vg_name-lv_swap
    

    其中vg_name是卷组名称,lv_swap是逻辑卷名称。

  3. 扩展swap文件或分区

    • 对于文件系统中的swap文件
      sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
      sudo mkswap /swapfile
      sudo swapon /swapfile
      
    • 对于分区
      sudo parted /dev/sdX resizepart X Y
      sudo mkswap /dev/sdXY
      sudo swapon /dev/sdXY
      
      其中/dev/sdX是设备名称,X是分区号,Y是新的结束扇区。
  4. 更新/etc/fstab 确保新的swap配置在启动时自动挂载:

    /dev/sdXY none swap sw 0 0
    

    或者对于文件:

    /swapfile none swap sw 0 0
    
  5. 重新启用swap分区

    sudo swapon -a
    
  6. 验证swap大小

    sudo swapon --show
    free -h
    

减少swap分区大小

减少swap分区大小较为复杂,因为直接缩小分区可能会导致数据丢失。建议先备份重要数据。

  1. 关闭swap分区

    sudo swapoff -a
    
  2. 缩小文件系统中的swap文件

    • 备份数据
      sudo cp /swapfile /swapfile.bak
      
    • 缩小文件
      sudo dd if=/swapfile of=/swapfile_temp bs=1M count=512
      sudo rm /swapfile
      sudo mv /swapfile_temp /swapfile
      
  3. 缩小分区

    • 使用parted或其他分区工具缩小分区:
      sudo parted /dev/sdX resizepart X Y
      
  4. 重新创建swap分区

    sudo mkswap /dev/sdXY
    sudo swapon /dev/sdXY
    
  5. 更新/etc/fstab 确保新的swap配置在启动时自动挂载。

  6. 重新启用swap分区

    sudo swapon -a
    
  7. 验证swap大小

    sudo swapon --show
    free -h
    

注意事项

通过以上步骤,你可以安全地调整Linux系统中的swap分区大小。

0
看了该问题的人还看了