Linux系统死机通常表现为界面卡住、鼠标键盘无响应或完全黑屏。要有效处理这类问题,需要先区分是应用层卡死还是内核级故障,再采取相应的恢复手段。

一、先尝试切换到tty终端
大多数桌面环境卡死时,内核仍然活着。可以使用快捷键 Ctrl+Alt+F2 到 F6 切换到文本终端(tty),登录后排查。
# 切换到tty2后登录,查看占用CPU最高的进程 ps -aux --sort=-%cpu | head -n 5 # 杀掉疑似卡死的应用,例如firefox pkill -9 firefox # 返回图形界面(通常为tty1或tty7) Ctrl+Alt+F1
二、内存耗尽导致假死
当系统内存不足并触发OOM(Out Of Memory)时,可能会大规模杀进程或看起来像死机。建议开启早期oom守护进程。
- 使用
free -h查看内存状态 - 用
dmesg | grep -i oom检查内核日志中的OOM记录 - 安装 earlyoom 工具自动释放资源
# Debian/Ubuntu安装earlyoom sudo apt install earlyoom sudo systemctl enable --now earlyoom
三、内核panic如何处理
如果出现内核panic,屏幕常显示调用栈且无法切换终端。此时只能硬重启,但重启后应排查原因。
| 可能原因 | 排查方式 |
|---|---|
| 硬件故障 | 运行 memtest86 检查内存 |
| 驱动问题 | 查看 /var/log/kern.log |
| 内核BUG | 升级或回退内核版本 |
查看内核日志示例
# 重启后查看上一次启动的内核日志 journalctl -k -b -1 # 或者读取传统日志文件 grep -i panic /var/log/kern.log
四、预防与日常建议
保持内核和驱动更新,避免混用不兼容的第三方模块。对重要服务配置监控,能在异常时主动告警。若频繁死机,可借助 stress 工具做压力测试定位薄弱点。
注意:强制断电可能造成文件系统损坏,重启后建议执行 fsck 检查。
简单压力测试命令
# 安装压力测试工具 sudo apt install stress # 启动4个进程消耗CPU,持续60秒 stress --cpu 4 --timeout 60
通过上述方法,大部分Linux死机问题都能在现场缓解并事后分析,降低对工作和数据的影响。