侧边栏壁纸
  • 累计撰写 34 篇文章
  • 累计创建 32 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

Debian 12 开启 4GB 虚拟内存 (Swap) 完整实战教程

Administrator
2026-03-17 / 0 评论 / 0 点赞 / 1 阅读 / 0 字

当服务器或 PC 内存较小(如 1GB RAM)时,运行 Snap 插件、Docker 容器或大型应用极易导致系统因内存溢出(OOM)而卡死或崩溃。通过配置 Swapfile(交换文件),可以为系统提供一个“缓冲区”,显著提升小内存机器的稳定性。

1. 环境检查

在操作前,首先查看系统当前的内存和交换空间状态:

free -h

如果 Swap 一栏显示的数值为 0,说明目前尚未开启虚拟内存。

2. 创建交换文件 (4GB)

对于 1GB 内存的机器,建议设置 4GB 的 Swap,以应对突发性的内存需求。

使用 fallocate 命令预分配空间(最快):

sudo fallocate -l 4G /swapfile

注意: 如果提示 fallocate failed,说明你的文件系统不支持。请改用传统的 dd 命令:

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

3. 安全与格式化

为了数据安全,必须确保该文件只能由 root 用户访问,然后将其格式化为交换分区格式。

  1. 限制权限(必须执行,否则系统会报安全警告)
sudo chmod 600 /swapfile
  1. 格式化为交换文件系统
sudo mkswap /swapfile
  1. 立即启用交换文件
sudo swapon /swapfile

4. 设置开机自启

手动开启的 Swap 在重启后会失效。我们需要将其写入 /etc/fstab 配置文件中。

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

5. 关键优化:调整 Swappiness

这是 1G 内存机器最重要的一步。
swappiness 值(0-100)决定了系统使用虚拟内存的“积极程度”。

默认值 60:系统会过早使用 Swap,导致 1G 内存机器因频繁读写硬盘而变卡。

推荐值 10:尽量优先使用物理内存,仅在物理内存快耗尽时才使用 Swap。

操作命令:

  1. 临时修改(立即生效)
sudo sysctl vm.swappiness=10
  1. 永久修改(写入配置文件)
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

6. 验证结果

最后,再次执行以下命令确认配置成功:

free -h

此时你应该能看到 Swap 总量变为 4.0Gi 左右。

总结
通过以上 6 个步骤,你的 2核 1G Debian 12 系统已经拥有了足够的虚拟内存储备。虽然虚拟内存的速度远慢于物理内存,但它能有效防止应用崩溃,是低配服务器的“保命”配置。

博主提示: 如果你的硬盘是 SSD,设置 swappiness=10 能极大提升系统流畅度;如果是机械硬盘,建议尽量不要运行过于沉重的应用。

0

评论区