温馨提示×

ubuntu swapper作用有哪些

小樊
40
2026-09-06 18:23:03
栏目: 智能运维

在 Ubuntu(以及一般的 Linux 系统)中,swapper 通常指交换空间(swap)相关机制,包括内核中的 swapper 进程(PID 0)和 swap 分区 / swap 文件。下面分两部分说明它的作用。


一、swapper 进程(内核线程,PID 0)

在 Linux 中:

  • swapper 是系统的 0 号进程
  • 它是所有进程的祖先(在启动早期创建)
  • 主要作用是空闲调度和内存管理支持

主要作用

  1. 系统空闲时运行

    • 当 CPU 没有任何可运行进程时,会运行 swapper
    • 用于节能、空闲循环
  2. 支持交换机制(历史作用)

    • 早期 UNIX 中负责把内存页换出到磁盘
    • 现代 Linux 中,实际换页由 kswapd 内核线程完成
    • swapper 更多是一个“占位/调度”角色
  3. 内存管理基础

    • 参与页表、内存映射初始化
    • 是内核内存子系统的基石

ps 中看到的:

PID 0 ?    S    [swapper]

表示系统空闲或内核调度基础进程


二、Ubuntu 中的 Swap(交换空间)作用

通常大家说的 “Ubuntu swapper 作用” 更多是指 swap 分区 / swap 文件

1️⃣ 内存不足时的“扩展内存”

  • 当物理内存(RAM)用完
  • 不常用内存页被移到 swap
  • 防止系统因 OOM(内存耗尽)崩溃

2️⃣ 休眠(Hibernate)支持

  • 休眠需要把全部内存内容写入磁盘
  • 必须存在 足够大的 swap
  • 否则无法休眠(只能睡眠)

3️⃣ 提高系统稳定性

  • 避免程序因瞬时内存峰值被 kill
  • 对低内存设备(2GB / 4GB)尤其重要

4️⃣ 优化内存使用

  • 把不活跃的页换出
  • 给常用程序更多物理内存

三、Ubuntu 中常见的 swap 形式

  1. swap 分区

    • 安装时创建
    • 性能较好
  2. swap 文件(Ubuntu 默认)

    • /swapfile
    • 灵活、易调整
  3. zram(压缩内存)

    • 新版 Ubuntu 常用
    • 用内存模拟 swap,速度快

四、什么时候需要关注 swapper / swap?

✅ 需要关注:

  • 内存经常吃满
  • 系统卡顿
  • 想开启休眠
  • 服务器长期运行

❌ 不太需要:

  • 大内存桌面(16GB+)
  • 纯高性能计算(可关闭 swap)

五、简单查看命令

free -h
swapon --show
ps -p 0

如果你愿意,我可以:

  • 帮你判断 该不该开 swap
  • 教你在 Ubuntu 上 创建 / 调整 swap
  • 解释 swap 和 swapper 进程的区别

0