温馨提示×

ubuntu swapper为何会自动启动

小樊
51
2026-08-31 17:57:55
栏目: 智能运维

在 Ubuntu(以及一般 Linux)里,swapper(swap 相关机制)并不是“程序”自动启动,而是内核层面的概念。你看到的“swapper 自动启动”,通常有几种不同含义,下面分别说明。


1. swapper 是什么?

  • swapper 进程(PID 0 / PID 1 之前)
    • 在 Linux 中,swapper 是内核创建的空闲进程(通常叫 swapper/0swapper/1
    • 每个 CPU 一个,用来在系统空闲时运行
    • 它不是用户程序,也不能被关闭
    • 你用 ps 看到它“一直存在”是正常的

✅ 这是正常现象,不是异常启动


2. 你说的可能是“swap 被自动启用”

Ubuntu 会在以下情况自动使用 swap

(1)系统内存不足

当物理内存(RAM)不够用时:

RAM 不足 → 内核自动把不常用内存页写入 swap

这是 swapper / kswapd 自动工作

查看:

free -h
swapon --show

(2)Ubuntu 默认启用了 swap

  • Ubuntu 桌面版
    • 通常使用 swapfile(/swapfile
  • Ubuntu Server(20.04+)
    • 默认可能用 swap.img 或 zram

查看:

ls -lh /swapfile
cat /proc/swaps

(3)swappiness 参数导致“提前”使用 swap

Ubuntu 默认:

cat /proc/sys/vm/swappiness
# 通常是 60

意思是:内存用到 40% 左右就可能开始用 swap

可调小(减少自动 swap):

sudo sysctl vm.swappiness=10

永久:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

3. 如果你看到的是“swapon 自动执行”

可能原因:

  • /etc/fstab 里有 swap 条目
  • systemd 自动挂载 swap

查看:

cat /etc/fstab

如果有类似:

/swapfile none swap sw 0 0

→ 开机自动启用


4. 如何判断你到底在问哪一种?

你可以补充:

  • 你是在 top / htop 看到 swapper
  • 还是磁盘里突然多了 swap?
  • 还是开机日志里看到 swap 启动?

总结一句话

swapper 不是“自动启动的程序”,而是 Linux 内核管理内存和空闲 CPU 的必要机制;你看到的“自动启动”,通常是 Ubuntu 在内存压力或默认配置下自动使用 swap。

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

free -h
swapon --show
cat /etc/fstab

我可以帮你精确分析。

0