宝塔 阅读 5
宝塔 第13章 swap交换分区

宝塔 第13章 swap交换分区

1小时前 • lulubin

一、swap 是什么?

swap = 交换分区,是 Linux 的一个内存补充机制,跟你服务器上的内存不足问题直接相关。

用大白话解释:swap 是什么?你的服务器只有 2G 内存。当内存不够用时(比如这次编译 PHP 吃掉了大部分内存),Linux 会挑一个“最占内存的程序”直接杀掉来腾地方——这就是 OOM,你的宝塔面板就是这么反复被杀的。

加了 swap 之后,系统会在硬盘上划一块 4G 的区域当作“备胎内存”:物理内存紧张时,先把不常用的数据挪到硬盘上放着,而不是杀程序。相当于给 2G 内存的机器临时借了 4G 硬盘空间当缓手术台。

https://cyfb.lulublog.cn/images/3/2026/10/W444O6E6M9K7HMV9gvV45Ii5g3O559.png?sign=efe06c32ede046529ee0367e75159b8b&t=6ae21c00

为什么对你重要?你这次编译 PHP 反复把宝塔挤死,根因就是没 swap; 加一次永久有效,以后跑任何吃内存的活(更新 PHP、MySQL 大查询、视频转码)都稳得多。

二、使用 swap

那几条命令就是在干这些事:

free -m                              # 看一眼现在有没有 swap(预期:Swap total = 0)
fallocate -l 4G /swapfile            # 在硬盘上划一块 4G 的文件
chmod 600 /swapfile                  # 设权限(只有 root 能读写)
mkswap /swapfile                     # 把它格式化成 swap 格式
swapon /swapfile                     # 立刻启用
echo '...' >> /etc/fstab             # 写入开机配置,重启后也自动生效
free -m                              # 再看一眼,Swap 行应该变成 4096

全部无害、可逆(想删掉 swapoff /swapfile && rm /swapfile 即可),不影响网站数据。放心按顺序执行,跑完把最后的 free -m 输出发我看一眼就完事。