在 Debian(以及所有 Linux 系统)中,**内存(RAM)**和 **swap(交换空间)**是协同工作的,核心目的是:
在物理内存不足时,保证系统不崩溃,并尽量维持运行。
下面从关系、工作机制、配置建议几个方面说明。
| 项目 | 内存(RAM) | Swap |
|---|---|---|
| 速度 | 极快 | 慢(磁盘 IO) |
| 作用 | 程序直接运行的地方 | 内存的“后备仓库” |
| 断电 | 数据丢失 | 数据丢失(通常) |
| 是否必须 | 必须 | 不一定(但建议有) |
简单理解:
控制“多积极使用 swap”
cat /proc/sys/vm/swappiness
常见值:
60(Debian 默认):较积极使用 swap10:更偏向留内存1:几乎不用 swap(服务器常设)临时修改:
sudo sysctl vm.swappiness=10
永久修改:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
| 内存大小 | swap 建议 |
|---|---|
| ≤ 2GB | 2 × RAM |
| 2–8GB | = RAM |
| > 8GB | 4–8GB 即可 |
Debian 支持两种:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
开机自动挂载:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo swapoff -a
但不建议生产环境盲目禁用。
内存是跑程序的,swap 是保命的
Debian 中:内存优先,swap 兜底,合理设置 swappiness 和 swap 大小才能稳定又流畅。
如果你愿意,可以告诉我: