温馨提示×

centos swapper有必要开吗

小樊
46
2026-09-24 09:55:19
栏目: 智能运维

在 CentOS(以及大多数 Linux 发行版)里,swapper / swap 通常不是“必须开”,但一般建议保留,取决于你的使用场景。

下面用比较直白的方式说明。


一、什么是 CentOS 里的 swapper / swap

  • swapper 通常指内核的 swap 子系统
  • swap 是磁盘上的一块空间(分区或文件),用来:
    • 内存不够时“临时顶替”内存
    • 把不常用的内存页换出,腾出物理内存

二、有没有必要开?看场景

✅ 建议开启 swap 的情况

  1. 物理内存较小(≤ 4G)

    • 很容易内存吃满
    • 没 swap 可能直接 OOM(进程被杀)
  2. 服务器会跑突发内存占用

    • 编译、批处理、Java 应用
    • 短时间内存飙高
  3. 重视系统稳定性

    • swap 能避免“直接挂掉”
    • 给你排查和应急处理时间
  4. 云服务器(尤其是小规格)

    • 1–2G 内存的云主机,强烈建议开

❌ 可以不开 swap 的情况

  1. 内存非常大(如 ≥ 16G 且负载稳定)

    • 很少用满内存
    • swap 基本用不到
  2. 追求极致性能、低延迟

    • swap 会带来磁盘 IO
    • 对数据库、高频交易不友好
  3. 明确知道应用内存上限

    • 并且做了 cgroup / 限制

三、CentOS 常见误区

❌ “开了 swap 会变慢”

  • 正常情况下 不会
  • 只有真的开始 swap 了才会慢

❌ “有 swap 就说明内存不够”

  • 不一定
  • Linux 本身也会主动换出冷数据

四、实际建议(CentOS 7 / 8 / Stream)

通用建议

  • 2G 内存 → 2–4G swap
  • 4–8G 内存 → 2–4G swap
  • ≥ 16G 内存 → 可有可无

特殊服务

  • 数据库(MySQL / PostgreSQL)
    • 可以开,但调低 swappiness
  • Kubernetes 节点
    • 旧版不推荐
    • 新版(1.22+)支持 swap,但需显式开启

五、常用配置命令

查看 swap:

free -h
swapon -s

调整 swap 使用倾向(0–100):

cat /proc/sys/vm/swappiness
sysctl vm.swappiness=10

永久生效:

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

六、一句话结论

CentOS 的 swapper(swap)不是必须,但“有比没有稳”。 小内存服务器建议开,大内存高性能场景可关或调低。

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

  • CentOS 版本
  • 内存大小
  • 主要跑什么服务

我可以直接给你具体开不开、开多大的建议。

0 踩