在 Ubuntu(以及一般的 Linux 系统)中,swapper 通常指交换空间(swap)相关机制,包括内核中的 swapper 进程(PID 0)和 swap 分区 / swap 文件。下面分两部分说明它的作用。
一、swapper 进程(内核线程,PID 0)
在 Linux 中:
swapper 是系统的 0 号进程
- 它是所有进程的祖先(在启动早期创建)
- 主要作用是空闲调度和内存管理支持
主要作用
-
系统空闲时运行
- 当 CPU 没有任何可运行进程时,会运行
swapper
- 用于节能、空闲循环
-
支持交换机制(历史作用)
- 早期 UNIX 中负责把内存页换出到磁盘
- 现代 Linux 中,实际换页由
kswapd 内核线程完成
swapper 更多是一个“占位/调度”角色
-
内存管理基础
在 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 形式
-
swap 分区
-
swap 文件(Ubuntu 默认)
-
zram(压缩内存)
- 新版 Ubuntu 常用
- 用内存模拟 swap,速度快
四、什么时候需要关注 swapper / swap?
✅ 需要关注:
- 内存经常吃满
- 系统卡顿
- 想开启休眠
- 服务器长期运行
❌ 不太需要:
- 大内存桌面(16GB+)
- 纯高性能计算(可关闭 swap)
五、简单查看命令
free -h
swapon --show
ps -p 0
如果你愿意,我可以:
- 帮你判断 该不该开 swap
- 教你在 Ubuntu 上 创建 / 调整 swap
- 解释 swap 和 swapper 进程的区别