在CentOS系统中,swap空间分配策略主要包括以下几个方面:
使用 dd 命令创建一个指定大小的Swap文件。例如,创建一个4GB的Swap文件:
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
设置Swap文件权限:
sudo chmod 600 /swapfile
将文件格式化为Swap文件系统:
sudo mkswap /swapfile
启用Swap文件:
sudo swapon /swapfile
使Swap文件永久生效,需要修改 /etc/fstab 文件:
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab
增加swap分区大小:
关闭swap分区:
sudo swapoff -a
扩展物理卷(PV),如果使用LVM:
sudo lvextend -L +1G /dev/vg_name/swap_lv
重新格式化swap分区:
sudo mkswap /dev/vg_name/swap_lv
重新启用swap分区:
sudo swapon -a
减少swap分区大小:稍微复杂一些,因为直接缩小swap分区可能会导致数据丢失。建议先备份重要数据。
关闭swap分区:
sudo swapoff -a
缩小逻辑卷(LV),如果使用LVM:
sudo lvreduce -L -1G /dev/vg_name/swap_lv
重新格式化swap分区:
sudo mkswap /dev/vg_name/swap_lv
重新启用swap分区:
sudo swapon -a
调整 vm.swappiness 参数:控制系统对swap的依赖程度。值范围为0-100,值越高表示系统越倾向于使用swap。通常建议设置为10-60之间,以平衡性能和内存使用。
sudo sysctl vm.swappiness=50
为了使设置永久生效,编辑 /etc/sysctl.conf 文件,添加以下行:
vm.swappiness = 50
free、df 等命令定期监控swap的使用情况,确保swap空间没有被过度使用,并根据实际情况调整swap策略。请注意,进行任何内核参数调整或系统配置更改后,通常需要重启系统以使更改生效。