Linux系统跑着跑着突然卡成幻灯片,甚至直接死机?这多半是物理内存(RAM)告急,而Swap空间又没起到缓冲作用。Swap,你可以把它理解成内存的“应急仓库”,当物理内存不够用时,系统会把一些暂时不用的数据挪到这里,给紧急任务腾出地方。如果这个仓库太小或者压根没开,系统自然就容易“撑死”。

别担心,给Linux加Swap不算难事,主要有两种路子:一种是创建Swap文件,灵活方便;另一种是划出独立分区,性能更稳。下面咱们就一步步来。

linux系统swap分区怎么增加?解决内存不足死机问题【教程】

一、检查当前Swap状态

动手之前,先摸清家底。看看系统现在有没有Swap,有多大,这决定了我们后续要怎么做。

打开终端,用这个命令看一眼:

free -m

重点看输出里“Swap”那一行的“total”值。如果显示是0,那就说明Swap功能根本没启用。如果有个数值,但远小于你的物理内存(比如你内存是8G,Swap才512M),那很可能就是它太小了,需要扩容。

如果想更详细地看看Swap设备在哪,可以补两个命令:

swapon -s 或者 cat /proc/swaps

二、使用swapfile方式动态增加Swap空间

这是现在最推荐的方法,尤其对新手和大多数桌面、服务器环境。它不用动磁盘分区,不用重启,就像在硬盘上划出一个特定大小的文件来当Swap用。

1. 创建Swap文件
先找个空间充足的目录,比如 /var/(根目录)。然后,用dd命令创建一个指定大小的空文件。下面这个例子是创建一个4GB的文件:

dd if=/dev/zero of=/var/swapfile bs=1M count=4096

2. 设置严格权限
为了防止安全风险,必须把这个文件的权限设成只有root能读写:

chmod 600 /var/swapfile

3. 格式化为Swap格式
告诉系统这个文件是拿来当Swap用的:

mkswap /var/swapfile

4. 立即启用它
现在就让这个Swap文件开始工作:

swapon /var/swapfile

5. 确认生效
再次运行 free -m,看看Swap的总量是不是已经增加了。

三、使用独立分区方式永久扩展Swap

如果你对系统I/O性能有更高要求,或者磁盘布局允许,可以专门分出一个磁盘分区来做Swap。这种方法理论上效率稍高一点。

1. 创建Swap分区
使用 fdiskparted 工具,在一块有未分配空间的磁盘上创建一个新分区。记住,在设置分区类型时,要选 82 (Linux swap)

2. 格式化分区
假设新分区是 /dev/sdb2,运行:

mkswap /dev/sdb2

3. 启用分区
swapon /dev/sdb2

4. 验证
swapon -s 命令,应该能看到新分区及其大小。

5. 持久化配置(关键!)
为了重启后还能用,必须把这一行加到 /etc/fstab 文件末尾:

/dev/sdb2 swap swap defaults 0 0

四、配置开机自动挂载Swap

不管你用上面哪种方法,如果不做这一步,下次重启系统后,新增的Swap就没了,问题还会重现。

1. 编辑fstab文件
vi /etc/fstab

2. 添加挂载项
在文件最后加一行。如果是Swap文件,就这样写(路径换成你的实际位置):

/var/swapfile swap swap defaults 0 0

如果是Swap分区,写法见上一节第5步。

3. 检查配置
保存退出后,运行下面命令测试一下配置有没有语法错误,没报错就是对的:

mount -a

4. 手动加载测试
重启前,可以先用 swapon -a 命令让所有fstab里定义的Swap都生效,再用 free -m 确认一下。

五、关闭并清理旧Swap资源

当你新增的Swap稳定运行后,如果旧的Swap文件或分区不再需要了,最好清理掉,避免浪费空间和潜在冲突。

1. 停用旧Swap
swapoff /var/swapfileswapoff /dev/sdb2

2. 移除fstab中的配置
编辑 /etc/fstab,删除对应旧Swap的那一行。

3. 删除Swap文件(仅文件方式)
rm -f /var/swapfile

4. 删除Swap分区(仅分区方式)
如果确定分区不要了,可以用 fdisk 等工具删除该分区,并更新分区表。

走完这几步,你的Linux系统就拥有了一个更充裕的“内存缓冲区”。对于大多数场景,Swap大小设置为物理内存的1到2倍是个不错的起点。当然,如果条件允许,直接给物理内存扩容才是治本之策,Swap终究只是个补救方案。希望这个指南能帮你摆脱内存不足的困扰。

本文转载于:https://www.php.cn/faq/2358064.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。