在CentOS系统中,swapper(交换空间)是用于在物理内存不足时将部分数据转移到硬盘空间中的一种机制。它类似于Windows中的虚拟内存,旨在扩展系统内存、增强系统稳定性以及提高系统性能。
使用 free -h
命令可以查看系统的交换空间使用情况。例如:
total used free shared buff/cache available
Mem: 7.7Gi 1.2Gi 1.3Gi 334Mi 3.9Gi 3.1Gi
Swap: 2.0Gi 0B 2.0Gi
其中,Swap一行的 used
列显示了swap分区的使用情况。
创建交换文件:
使用 dd
命令创建一个指定大小的swap文件,例如创建一个4GB的swap文件:
sudo dd if=/dev/zero of=/swapfile bs=1G count=4
然后使用 mkswap
命令格式化该文件为swap空间,并使用 swapon
命令挂载它:
sudo mkswap /swapfile
sudo swapon /swapfile
配置开机自动挂载:
为了在系统重启后自动挂载swap文件,需要将其添加到 /etc/fstab
文件中:
echo "/swapfile swap swap defaults 0 0" | sudo tee -a /etc/fstab
调整swap分区优先级(可选):
可以使用 sysctl
命令来查看当前的 swappiness
数值,并修改它以调整系统使用swap分区的倾向:
sudo sysctl vm.swappiness=10
为了使这个设置永久生效,需要将相应的行添加到 /etc/sysctl.conf
文件中:
vm.swappiness = 10
然后运行 sudo sysctl -p
使更改生效。
调整内核参数:
vm.swappiness
值可以减少系统对swap的依赖。vm.dirty_ratio
和 vm.dirty_background_ratio
可以减少磁盘I/O操作,从而降低swap的使用。优化应用程序配置:
监控和预警:
增加物理内存:
禁用不必要的swap:
swapoff
命令禁用不再使用的swap分区。通过上述方法,可以有效地管理CentOS系统的swapper资源占用,确保系统在高负载下仍能保持稳定和高效运行。