fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
如果 fallocate 不可用或不兼容:
dd if=/dev/zero of=/swapfile bs=1M count=4096
这一步尤为关键:某些老内核或不支持 sparse 文件系统的情况下,fallocate 会导致 swapon 失败,建议使用 dd 更稳妥。
vim /etc/sysctl.conf
vm.swappiness=<value>
将 <value> 替换为您希望设置的交换活跃性的值。vm.swappiness 的值范围是 0 到 100,具有以下含义:
- 0:表示尽量减少使用交换空间,只在极端情况下才使用(马上要炸内存的时候,通常已经快来不及了)
- 100:表示尽量多地使用交换空间
sysctl -p
生效