我们在使用
Linux
系统的时候会发现系统没有响应出现死机现象。
这个时候要做些什么呢?
说到这有人就会问,
Linux
系统会死机么?我可以很肯定地说,会
!
要让
Linux
死机很容易,
但难的是在死机以后如何安全的让他摆脱死机状态,本文讲述如何从
linux
的死机状态中挣
脱出来。
Linux
系统死机有很多种情况,
最常见的是系统负载过高导致的。
如上次介绍的
fork
炸
弹就是这个原理,
此外还可以运行内存耗用极大的程序
(
如虚拟机
)
,
也会迅速提升系统负载。
由于系统负载过高导致的卡死,一定是解决的越快越好
!
此时必须记住的是,不能再试图依
赖任何图形界面的东西,如
gnome
的系统监视器
(
这是我从
Windows
遗留下来的愚昧习
惯
……)
,这只会继续加重这种卡死的局面。那怎么办?
不要怕,
Linux
系统最初就是不需要图形界面的,因为有一个很强大的文字界面。按
Ctrl-Alt-F1(F1-F6
一般来说都可以
)
,
然后等一会儿,
就会切换到
tty
,
也就是所谓的文字界
面。这个时候需要用用户名密码登入。注意,
可能键盘输入的速度比较慢,
不过应该还是可
以忍受的。下面在提示符后面输入
top
回车,这时会看到一张动态的表,上面列出了耗用
资源最多的进程。
观察它刷新一两次,
按
q
退出,
然后输入
kill
,
其中的
PID
你可以在
top
里面看到。这个时候应该会快了不少,如果你发现没有成功结束掉,就再输入
kill -KILL
,
这次基本上就没问题了。
除了上面这种情况外,一些底层软件的
bug
也可能导致一些奇怪的死机问题。我某位
同学近日就因为莫名其妙的死机强制重启把
ext4
的分区给伤了。
(
最后是
sysreccd
修复
了,貌似是分区表部分损坏
)
据其说,死机是键鼠均无反应。一般来说,系统负载高导致的
死机,在可怕键盘也会有反应,有人说如果死机到键盘无响应
“
负载
都无限大了
”
,亦有人
说这可能是
X Server
与驱动配合有问题导致的。
不过我们考虑一下遇到这种情况怎么办?
OK
,这是今天才学到的方法,叫做
reisub
,这个方法可以在各种情况下安全地重启计
算机。
大家在键盘上找,
可以找到一个叫做
“Sys Rq”
的键,
在台机的键盘上通常与
Prt Sc
共
键,在笔记本可能在其他位置,如
Delete
。以台机为例,要使用这种方法需要按住
Alt-Print(Sys Rq)
,然后依次按下
reisub
这几个键,按完
b
系统就会重启。
下面解释一下这个方法:其实
Sys Rq
是一种叫做系统请求的东西,按住
Alt-Print
的
时候就相当于按住了
Sys Rq
键,这个时候输入的一切都会直接由
Linux
内核来处理,它
可以进行许多低级操作。这个时候
reisub
中的每一个字母都是一个独立操作,他们分别表
示:
R
:
unRaw
将键盘控制从
X Server
那里抢回来