在CentOS系统中,清理Swap分区可以通过以下几种方法进行:
关闭并重新启用Swap分区:
sudo swapoff -a
sleep 10
sudo swapon -a
free -h
删除并重新创建Swap分区(适用于LVM管理磁盘的场景):
sudo lvdisplay
sudo lvremove /dev/mapper/vg_hostname-lv_swap
sudo lvcreate -L 1G -n lv_swap vg_hostname
sudo mkswap /dev/mapper/vg_hostname-lv_swap
sudo swapon /dev/mapper/vg_hostname-lv_swap
free -h
调整Swappiness参数:
sudo sysctl vm.swappiness=10
/etc/sysctl.conf
文件:echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
清理缓存和页面缓存:
sudo echo 3 | sudo tee /proc/sys/vm/drop_caches
free -h
删除Swap分区(高级操作):
sudo swapoff -a
sudo sed -i '/swap/s/defaults/disabled/' /etc/fstab
sudo lvremove /dev/mapper/centos-swap
/etc/fstab
文件,注释或删除掉Swap分区挂载设置:sudo sed -i '/ swap /s/defaults/disabled/' /etc/fstab
/boot/grub2/grub.cfg
和/etc/default/grub
里的Swap配置:sudo sed -i '/ swap /d' /boot/grub2/grub.cfg
sudo sed -i '/ GRUB_CMDLINE_LINUX /s/rd.lvm.lv=centos/root rd.lvm.lv=centos/ swap /' /etc/default/grub
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
在执行上述操作之前,请确保你有足够的物理内存来支持这些操作,否则可能会导致系统出现OOM(Out of Memory)错误,从而随机杀死进程。此外,对于使用LVM管理磁盘的系统,操作可能会更加复杂,需要谨慎操作以避免数据丢失。