Linux swap分区的开启和调整

查看当前 swap 状态

free -h
swapon --show

创建/调整 swap 文件

1. 关闭并删除旧 swap(如果有)

sudo swapoff /swapfile
sudo rm /swapfile

2. 创建新 swap 文件(以 2GB 为例)

sudo fallocate -l 2G /swapfile
# 如果 fallocate 不支持,用 dd:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

3. 设置权限、格式化、启用

sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

4. 验证

free -h

设置开机自动挂载

编辑 /etc/fstab,加入这一行(如果没有的话):

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

可选:调整 swappiness

swappiness 控制系统多积极地使用 swap,默认 60,VPS 内存紧张建议调低到 10:

# 临时生效
sudo sysctl vm.swappiness=10

# 永久生效
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

你当时 VPS 上开的是 2GB swap,如果还是同一台机器直接照做就行。有问题随时说。

那个 sudo: unable to resolve host ligahosting 只是个警告,不影响命令执行,可以看到 dd 已经成功写入 512MB 了。

原因是 /etc/hosts 里没有这个主机名的记录,修复一下:

echo "127.0.0.1 ligahosting" >> /etc/hosts

之后 sudo 就不会再报这个警告了。

dark
sans