温馨提示×

ubuntu swap崩溃怎么办

小樊
43
2026-09-10 05:26:09
栏目: 智能运维

在 Ubuntu 里遇到 swap 相关崩溃 / 系统卡死 / OOM(内存耗尽) 时,可以按下面思路排查和处理。


一、先确认是不是 swap 的问题

常见表现:

  • 系统突然卡死、鼠标键盘无响应
  • 磁盘灯常亮
  • 日志里有 Out of memorykilled process
  • 使用 free -h 发现 swap 没起作用或太小

查看信息:

free -h
swapon --show
journalctl -xe | grep -i oom

二、临时应急(系统还能操作时)

1. 立即释放内存

sync
echo 3 > /proc/sys/vm/drop_caches

2. 临时增加 swap(推荐)

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

验证:

swapon --show
free -h

三、永久修复 swap 问题

1. 创建永久 swap 文件

sudo nano /etc/fstab

添加:

/swapfile none swap sw 0 0

2. 调整 swap 使用策略

查看当前值:

cat /proc/sys/vm/swappiness

(默认 60,服务器可降到 10–30)

临时修改:

sudo sysctl vm.swappiness=20

永久修改:

sudo nano /etc/sysctl.conf

添加:

vm.swappiness=20

四、如果 swap 本身坏了 / 分区异常

重新创建 swap 分区(以 /dev/sdX 为例)

sudo swapoff -a
sudo mkswap /dev/sdX
sudo swapon /dev/sdX

五、根本原因分析(很重要)

1. 内存真的不够

  • 加物理内存
  • 限制程序内存(Docker、Java -Xmx

2. 程序内存泄漏

top
htop
ps aux --sort=-%mem

3. 磁盘 IO 太慢导致“假死”

  • 用 SSD
  • 避免 swap 在慢硬盘

六、系统已完全卡死怎么办

  • 强制重启(电源键 5–10 秒)
  • 重启后第一时间:
journalctl -b -1 | grep -i oom

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • 桌面还是服务器
  • 崩溃时的具体表现或日志

我可以直接帮你给一套针对性方案。

0