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