小内存机器要不要开 swap
先说结论:要开,但不要指望它提速。swap 的作用不是让机器变快,而是让内核在内存紧张时有一个可以把冷页挪走的地方,从而避免在没有任何缓冲的情况下直接触发 OOM。
反方观点是「swap 会让系统卡顿」。这个说法在有机械盘的时代成立,现在 SSD 上换页的开销比 OOM 杀进程小得多。真正的问题是 swappiness 默认值 60 对新内核偏高,通常调到 10 更合适。
还有一个常被忽略的收益:开着 swap 时,内核可以更主动地回收匿名页,页缓存能留得更久,文件读取的命中率反而上升。
我的做法是给 1G 内存的机器配 512M swap 文件,swappiness=10,并且监控 PSI 的 some 值。真出现持续换页,说明该加内存了,而不是该关 swap。