温馨提示×

centos swapper为何启用

小樊
39
2026-10-23 17:31:26
栏目: 智能运维

在 CentOS(以及一般的 Linux 系统)中,swapper(交换空间 / swap)启用通常有以下几个原因和作用:


一、什么是 swapper

在 CentOS 中:

  • swapper 通常指 swap 分区或 swap 文件
  • 它是磁盘上的一块空间,用来“临时存放内存中的数据”
  • 当物理内存(RAM)不足时,系统会把不常用的内存页换出到 swap

二、CentOS 启用 swapper 的常见原因

1️⃣ 物理内存不足

当系统运行的程序占用内存超过物理内存时:

  • Linux 不会立刻 OOM(内存耗尽)
  • 而是把部分内存写到 swap,腾出 RAM

✅ 这是 最主要原因


2️⃣ 系统安装时自动创建

CentOS 在以下情况会自动启用 swap:

  • 安装时分配了 swap 分区
  • 或使用 LVM 时默认创建 swap
  • 或使用 cloud-init(云服务器)自动配置

查看是否已启用:

swapon --show
free -h

3️⃣ 内核参数或系统配置强制使用

某些情况会“鼓励”使用 swap:

cat /proc/sys/vm/swappiness
  • 默认值通常是 30
  • 表示内存使用到 70% 时开始使用 swap

即使内存没满,也可能启用 swap。


4️⃣ 某些服务和软件要求 swap

以下场景常要求 swap:

  • Oracle / MySQL(部分版本)
  • Hadoop / Elasticsearch
  • 容器编排(K8s 旧版本)
  • 休眠(hibernate)功能

5️⃣ 系统休眠(Suspend to Disk)

如果启用了:

systemctl hibernate

必须使用 swap 保存内存状态。


三、如何判断 swap 是否必要?

✅ 需要 swap 的情况

  • 内存较小(≤ 2GB / 4GB)
  • 跑数据库或 Java 应用
  • 云服务器不确定负载
  • 需要系统稳定性优先

❌ 可关闭 swap 的情况

  • 内存充足(≥ 16GB)
  • 高性能计算 / 低延迟服务
  • 明确知道不会 OOM

四、如何关闭或调整 swap(如不需要)

临时关闭

swapoff -a

永久关闭

编辑:

/etc/fstab

注释掉 swap 行

降低 swap 使用倾向

sysctl vm.swappiness=10

五、总结一句话

CentOS 启用 swapper,本质是为了在内存不足或系统策略需要时,保障系统不崩溃、提高稳定性。

如果你愿意,可以贴一下:

free -h
swapon --show

我可以帮你判断 你的服务器到底需不需要 swap。

0 踩