在Linux系统中,交换分区属于虚拟内存范畴,有时候会遇到服务器临时阻塞或者瞬时 OOM(内存溢出)导致死机,所以合理配置交换分区可提升服务器稳定性。
当内存长期处于 60%-80% 时,系统其实已经非常危险。一旦某个时刻(比如凌晨自动任务、备份、或流量高峰)出现内存瞬时波动,Linux 内核就会触发 OOM Killer 机制,或者导致系统进入不停尝试释放内存的“假死”状态,导致 aaPanel 这种需要 Python 环境运行的面板直接打不开。
这个时候我们可以利用系统自带的Swap虚拟内存提高服务器稳定性。具体配置方式如下:
1. 安装Linux Tools
- 宝塔面板/aapanel中,在应用商店中搜索Linux Tools,并进行安装
- 打开Linux Tools,在Swap/virtual memory设置选项中,配置Add Swap大小,一般建议是实际内存大小的1.5倍

2. 修改 swappiness (内核参数),提高 Swap 使用积极性
实际使用过程中,虽然你的 Swap 设置可能已经为 2.0G,但 used 永远是 0B。这说明系统还没来得及把不常用的数据置换到硬盘,内存就瞬间爆满了导致服务器还是死机。这个时候建议是提高 Swap 使用积极性。
为什么 swappiness = 0 会导致死机?
swappiness 的值(0-100)代表了内核使用 Swap(虚拟内存)的倾向性:
-
设置为 0:告诉 Linux 内核“除非物理内存彻底耗尽,否则绝对不要使用 Swap”。
-
后果:在你的 2G 内存环境下,MySQL 或 V2BX 只要出现一个瞬时的内存需求峰值,由于内核不提前把不常用的数据挪到 Swap,物理内存会立即打满。
-
结果:因为没有缓冲余地,内核会直接触发 OOM Panic(内存溢出恐慌),为了保护系统安全,它会挂起所有进程,表现就是你看到的:面板打不开、SSH 连不上、必须强制重启。
面板上修改swappiness
Linux Tools 没有直接给这个参数做按钮,但你可以在其内置的文件管理器中修改:
-
在左侧菜单点击 Files (文件)。
-
在地址栏输入
/etc/sysctl.conf并回车,(若找不到,可以直接通过搜索sysctl.conf 找到) -
点击该文件进行双击编辑。
-
检查是否有
vm.swappiness=0,将其改为vm.swappiness=60。如果没有这一行,就在文件最后一行添加:vm.swappiness=60 -
保存。
-
去 Terminal (终端) 执行一次
sysctl -p让它立即生效,或者直接重启服务器。
也可以通过命令行直接修改swappiness
对于 2G 内存的小车拉大马(MySQL+Redis+V2BX),我们需要让系统更积极地使用 Swap。
第一步:临时生效(立即释放压力) 在终端执行:
sysctl vm.swappiness=60
第二步:永久生效(防止重启失效)
-
编辑配置文件:
vi /etc/sysctl.conf -
在文件末尾找到
vm.swappiness(如果没有就手动添加一行):vm.swappiness=60 -
保存退出。














