在Linux系统中,调整swap分区的大小可以通过以下步骤完成:
关闭swap分区
sudo swapoff -a
扩展物理卷(如果需要) 如果你的swap分区是基于LVM的,你需要先扩展物理卷:
sudo lvextend -l +100%FREE /dev/mapper/vg_name-lv_swap
其中vg_name
是卷组名称,lv_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
是新的结束扇区。更新/etc/fstab
确保新的swap配置在启动时自动挂载:
/dev/sdXY none swap sw 0 0
或者对于文件:
/swapfile none swap sw 0 0
重新启用swap分区
sudo swapon -a
验证swap大小
sudo swapon --show
free -h
减少swap分区大小较为复杂,因为直接缩小分区可能会导致数据丢失。建议先备份重要数据。
关闭swap分区
sudo swapoff -a
缩小文件系统中的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
缩小分区
parted
或其他分区工具缩小分区:sudo parted /dev/sdX resizepart X Y
重新创建swap分区
sudo mkswap /dev/sdXY
sudo swapon /dev/sdXY
更新/etc/fstab
确保新的swap配置在启动时自动挂载。
重新启用swap分区
sudo swapon -a
验证swap大小
sudo swapon --show
free -h
通过以上步骤,你可以安全地调整Linux系统中的swap分区大小。