温馨提示×

centos swap大小怎么定

小樊
47
2026-09-21 01:30:34
栏目: 智能运维

在 CentOS(以及大多数 Linux 发行版)中,swap 的大小并没有绝对标准,通常根据 内存大小、系统用途、是否启用休眠(hibernate) 来决定。下面是常见经验建议:


一、通用推荐(不休眠)

内存 ≤ 2GB

  • swap = 内存的 2 倍
  • 例:1GB 内存 → 2GB swap

内存 2GB ~ 8GB

  • swap = 内存大小
  • 例:4GB 内存 → 4GB swap

内存 8GB ~ 64GB

  • swap = 4GB ~ 8GB
  • 例:16GB 内存 → 4–8GB swap

内存 > 64GB

  • swap = 4GB 左右即可
  • 服务器通常不需要太大 swap

二、如果启用休眠(hibernate)

⚠️ CentOS 服务器一般不推荐休眠

  • swap ≥ 内存大小 + 一点余量
  • 例:16GB 内存 → 至少 16–20GB swap

三、不同用途建议

1️⃣ 个人桌面 / 开发机

  • swap 稍大一点更稳妥
  • 建议:内存 1~1.5 倍

2️⃣ 生产服务器(Web / DB / 应用)

  • swap 主要用于:
    • OOM 前的缓冲
    • 系统稳定性
  • 建议:
    • 小内存:= 内存
    • 大内存:4–8GB

3️⃣ 数据库服务器(MySQL / PostgreSQL)

  • swap 不宜过大
  • 避免 swap 抖动影响性能
  • 通常:
    • 关闭或仅留 2–4GB
    • 并调低 swappiness

四、CentOS 中查看与调整

查看当前 swap

free -h
swapon --show

调整 swappiness(默认 30)

cat /proc/sys/vm/swappiness

临时修改:

sysctl vm.swappiness=10

永久修改:

echo "vm.swappiness=10" >> /etc/sysctl.conf
sysctl -p

五、简单结论(最常用)

内存 推荐 swap
≤2G 2×内存
2–8G =内存
8–64G 4–8G
>64G 4G

如果你愿意,可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 内存大小
  • 是服务器还是桌面

我可以给你更精确的建议或具体创建 swap 的命令。

0 踩