调整swap空间大小

1 增大swap空间大小

增大swap空间大小有如下三种方式:创建一个新的swap分区、创建一个新的swap文件、在现有的LVM2逻辑卷上扩展swap空间。推荐使用第三种方式。

1.1 创建一个新的swap分区

假设/dev/VolGroup00/LogVol02是要新建的swap分区

  • 创建大小为2GB的LVM2逻辑卷:

lvcreate VolGroup00 -n LogVol02 -L 2G

  • 建立swap:

mkswap /dev/VolGroup00/LogVol02

  • /etc/fstab文件中添加条目:

/dev/VolGroup00/LogVol02   swap     swap    defaults     0 0

  • 重新加载配置文件:

systemctl daemon-reload

  • 开启swap:

swapon -v /dev/VolGroup00/LogVol02

  • 检查验证swap空间大小:

cat /proc/swaps

free -h

1.2 创建一个新的swap文件

  • 确定新的swap文件的大小(以MB单位),然后乘以1024以确定块的数量。例如,64MB的swap文件块大小为65536。
  • 创建一个空文件:

dd if=/dev/zero of=/swapfile bs=1024 count=65536

将count替换为等于所需块大小的值。

  • 建立swap:

mkswap /swapfile

  • 设置swap文件权限:

chmod 0600 /swapfile

  • /etc/fstab文件中添加条目:

/swapfile          swap            swap    defaults        0 0

  • 重新加载配置文件:

systemctl daemon-reload

  • 开启swap:

swapon /swapfile

  • 检查验证swap空间大小:

cat /proc/swaps

free -h

1.3 在现有的LVM2逻辑卷上扩展swap

假设/dev/VolGroup00/LogVol01是要扩展2 GB的逻辑卷

  • 关闭swap:

swapoff -v /dev/VolGroup00/LogVol01

  • 扩展逻辑卷大小:

lvresize /dev/VolGroup00/LogVol01 -L +2G

  • 建立swap:

mkswap /dev/VolGroup00/LogVol01

  • 开启swap:

swapon -v /dev/VolGroup00/LogVol01

  • 检查验证swap空间大小:

cat /proc/swaps

free -h

2 减小swap空间大小

减小swap空间大小有如下三种方式:删除用于swap的整个LVM2逻辑卷、删除swap文件、在现有的LVM2逻辑卷上减少swap空间。

2.1 删除用于swap的整个LVM2逻辑卷

假设/dev/VolGroup00/LogVol02是要删除的swap分区

  • 关闭swap:

swapoff -v /dev/VolGroup00/LogVol02

  • 删除LVM2逻辑卷:

lvremove /dev/VolGroup00/LogVol02

  • /etc/fstab文件中删除条目:

/dev/VolGroup00/LogVol02   swap     swap    defaults     0 0

  • 重新加载配置文件:

systemctl daemon-reload

  • 从/etc/default/grub文件中删除对已移除的swap的所有引用:

vi /etc/default/grub

  • 重新生成grub配置:

在基于bios的机器上运行:grub2-mkconfig -o /boot/grub2/grub.cfg

在基于uefi的机器上运行:grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

  • 检查验证swap空间大小:

cat /proc/swaps

free –h

2.2 删除swap文件

  • 关闭swap (假设/swapfile为swap文件):

swapoff -v /swapfile

  • /etc/fstab文件中删除条目
  • 重新加载配置文件:

systemctl daemon-reload

  • 删除实际文件/swapfile:

rm /swapfile

2.3 在现有的LVM2逻辑卷上减少swap空间

假设/dev/VolGroup00/LogVol01是需要减少容量的逻辑卷

  • 关闭swap:

swapoff -v /dev/VolGroup00/LogVol01

  • 将LVM2逻辑卷减少512MB:

lvreduce /dev/VolGroup00/LogVol01 -L -512M

  • 建立swap:

mkswap /dev/VolGroup00/LogVol01

  • 开启swap:

swapon -v /dev/VolGroup00/LogVol01

  • 检查验证swap空间大小:

cat /proc/swaps

free -h