用户名: 密码: 忘记密码? 注册
收藏此问题 发表新评论

真正的初学者常用命令!

引用:
今天上google reader,发现linuxtoy更新了这篇文章,非常适合严重死机的人……

点击此处查看源


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 中的每一个字母都是一个独立操作,他们分别表示:

unRaw 将键盘控制从 X Server 那里抢回来
tErminate 给所有进程发送 SIGTERM 信号,让他们自己解决善后
kIll 给所有进程发送 SIGKILL 信号,强制他们马上关闭
Sync 将所有数据同步至磁盘
Unmount 将所有分区挂载为只读模式
reBoot 重启

这6个字母的顺序是不可以记错的。那怎么记呢?这里提供一个个人认为比较好的方法:单词 busier(busy 的比较级,更忙)倒过来就是了。

基本上就这样了,Linux 的死机本来就不多见,现在见了也可以安全解决,多好~

update:

论坛http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=213058&start=0贴说明顺序是“RSEIUB”

而本文则是“busier”倒序

个人分析下:

首先内核需要从x夺过键盘控制权(r),下一个就是先kill进程还是先同步数据,个人理解应该是先kill进程,进程在kill同时可能对数据进行读写操作,所以此步是(e);强制关闭进程,(i);关闭了进程了,要保存数据了,把/tmp的,tmpfs的,同步过去,要不,数据丢了怎么办?(sYNC之);同步好数据,卸载磁盘(最重要一步,关系到数据安全性),(u)即可umount;磁盘都卸载了,等啥,reboot吧!

依此判断,是busier倒序罢!等小白测试结果
昵称: delectate  时间: 2009-09-03 09:00:00
ps:第二种方法没有试验过,因为几乎没有碰到过,曾经碰到也是因为adobe的万恶的flash……

期待小白测试
昵称: delectate  时间: 2009-09-03 09:01:00
不过首先要开个开关,忘了是啥了
昵称: lerosua  时间: 2009-09-03 09:23:00
不错,linux需要这样的克服某些人的恐惧感
昵称: Terpineol  时间: 2009-09-03 09:32:00
31-7核不能关机时试过reisub

感觉需要三对前肢才能玩转,最后还是硬件重启了事
:em06
昵称: hcym  时间: 2009-09-03 09:33:00
显卡问题导致的卡死,按电源键才是王道
昵称: t3swing  时间: 2009-09-03 12:29:00
这是zhuqin大虾米说的“无敌三键”,不过好像也不是总是管用
昵称: adagio  时间: 2009-09-03 12:42:00
是一遍很好的经验 文章,学到知识了
昵称: shallamad  时间: 2009-09-03 15:52:00
其实我都是直接按电源的。。。
昵称: tenzu  时间: 2009-09-03 16:06:00
真的有效吗?那个reisub--累死Ub? :em03
三支前肢没问题,河蟹时代,蟹爪多着呢。 :em04
昵称: wangdu2002  时间: 2009-09-03 16:21:00
以后有机会试试吧,一向也是按电源的
昵称: y.z.h  时间: 2009-09-03 16:44:00
我电脑死机的时候按什么都没用,只有电源键有效。不过这个方法倒是没试过啊。最经常的死机情况是大小写锁定灯和数字锁定灯两个一起开始闪,然后全部失去响应,于是就……
昵称: singlezeus  时间: 2009-09-03 22:53:00
我的ubuntu9.04死机,画面定格,键盘鼠标没反应,按 Ctrl-Alt-F1(F1-F6 )也没有用,怎么办啊!!
我的Email:tanshuai1993@live.com
QQ:944366668
昵称: tanshuai  时间: 2009-09-06 10:11:00
delectate 写道:
ps:第二种方法没有试验过,因为几乎没有碰到过,曾经碰到也是因为adobe的万恶的flash……

期待小白测试
昵称: tanshuai  时间: 2009-09-06 18:16:00
实验证明当真的死机的时候,以上方式均告失败 :em04
昵称: fn_dolphin  时间: 2009-09-06 18:36:00
有一次,鼠标键盘没反应,电源强关 :em06
下次试试 :em04
昵称: jjwawa  时间: 2009-09-09 10:56:00
學習了 :em11
昵称: peteryeh64  时间: 2009-09-09 11:39:00
按住 Alt-Print(Sys Rq)

:em20

这不是抓窗的快捷键吗? :em06
昵称: wqwswks  时间: 2009-09-09 12:00:00
学习了,下次试试 :em11
昵称: aman  时间: 2009-09-27 13:07:00
先Mark
昵称: 思考者  时间: 2009-10-10 22:45:00
很明显,楼主混淆了“死机”和“假死机”的概念。
标题应该为linux假死了怎么办。

给死机的定义就是“因某些原因导致系统无法响应而不得不重启的现象”。
只要能够用软件方式解决,那就不是死机了,是假死了。
昵称: whelysee  时间: 2009-10-11 19:34:00
其实硬件造成的死机就不能用上面的方法;不过ubuntu都很稳定。不错的好办法。
昵称: xgh3578  时间: 2009-10-12 10:57:00
在"活机"时试了一下,然后又“活机”变成“死机”。
最后按复位键完事。
昵称: mjp123  时间: 2009-10-12 13:06:00
从来没死机的路过 :em11
昵称: 灰色小狼  时间: 2009-10-25 22:51:00
tanshuai 写道:
我的ubuntu9.04死机,画面定格,键盘鼠标没反应,按 Ctrl-Alt-F1(F1-F6 )也没有用,怎么办啊!!
我的Email:tanshuai1993@live.com
QQ:944366668
那你就断电吧
昵称: guoyu841020  时间: 2009-10-26 12:51:00
whelysee 写道:
很明显,楼主混淆了“死机”和“假死机”的概念。
标题应该为linux假死了怎么办。

给死机的定义就是“因某些原因导致系统无法响应而不得不重启的现象”。
只要能够用软件方式解决,那就不是死机了,是假死了。

:em20 :em20 :em20 :em20 :em20 :em20 :em20 :em20 :em20 :em20 :em20

谢谢指教

ps:我遇到死机,不论是手机还是pc还是laptop还是server,都是拔电源扣电池

百试百灵
昵称: delectate  时间: 2009-10-26 12:54:00
Alt-Print(Sys Rq)

这个键不是截图的吗? :em20
昵称: 给我一支烟  时间: 2009-10-27 13:13:00
死了就埋了。。。
昵称: yangkang5303  时间: 2009-10-27 13:26:00
没死的时候输出会是什么效果?

活马会当死马医么? :em06
昵称: wlzyan  时间: 2009-10-28 17:37:00
busier(busy 的比较级)倒过来
真的很好记
昵称: Almasy09  时间: 2009-10-29 09:48:00
。。。最简单的就是直接电源


偶的本本一死机 按什么都没用,,,, 郁闷
昵称: axiakun  时间: 2009-11-04 11:52:00
whelysee 写道:
很明显,楼主混淆了“死机”和“假死机”的概念。
标题应该为linux假死了怎么办。

给死机的定义就是“因某些原因导致系统无法响应而不得不重启的现象”。
只要能够用软件方式解决,那就不是死机了,是假死了。

我的不是假死机,只能按电源键了
昵称: ddd90  时间: 2009-11-06 18:40:00
mjp123 写道:
在"活机"时试了一下,然后又“活机”变成“死机”。
最后按复位键完事。

按最后一个字母时死活不重启…… :em06
昵称: happyz90  时间: 2010-02-04 20:23:00
还是硬重启最简单。。。
昵称: wan.l  时间: 2010-02-04 21:08:00
死机通常都是键盘鼠标按不动

只有机箱上那几个键按了才有反应
昵称: 我是螳螂  时间: 2010-03-12 23:08:00
直接重启啊
昵称: 波波维奇  时间: 2010-03-20 18:48:00
sysrq+k
昵称: rediscover  时间: 2010-03-22 15:03:00
没试过,等真死机的时候试试,还是感谢LZ分享经验~~~
昵称: i4martian  时间: 2010-03-24 21:20:00
最麻烦的是内核挂掉……
这个时候干什么都没有用……智能强关
记得我有一次就是自己写的一个简单内核模块……不小心在某个原子操作里头死循环了……从此就灾难了……
昵称: dshbusiness  时间: 2010-03-24 22:19:00
tenzu 写道:
其实我都是直接按电源的。。。


我,我也是...
昵称: wuque123  时间: 2010-04-15 10:47:00
好贴,留下备用。
昵称: prajna1  时间: 2010-04-16 11:05:00
好文章,MARK
昵称: task  时间: 2010-04-18 15:24:00
等死机时再busier吧
昵称: nmsfan  时间: 2010-04-25 17:19:00
:em09 暂时没死过
昵称: susbarbatus  时间: 2010-04-25 17:37:00
发表评论
昵称:
内容:
验证: