lzh电子论坛

欢迎来到lzh电子论坛:
如果您对电子技术感兴趣就加入我们吧!在这里互相交流互相学习!主要讨论的方向有:单片机,ARM,PCB板设计,FPGA,汇编,C/C++等方面。
-----lzh电子论坛
lzhbbs.top-me.com
lzh电子论坛

电子的道路是孤独的,要懂得左手温暖右手,要懂得把debug当作快乐去欣赏,去享受,那样你才会成功...

欢迎访问lzh电子论坛。可通过【谷歌,SOSO,搜狗】搜索“lzh电子论坛”直接进入论坛。点击了解论坛详细制度


    Ubuntu系统死机啦怎么办

    分享
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 25

    Ubuntu系统死机啦怎么办

    帖子 由 Admin 于 2013-08-21, 4:52 pm

    Ubuntu系统死机啦怎么办
     
    Ubuntu系统死机啦怎么办?下面告诉大家一些解决的方法: 
      www.2cto.com  
    临时启用快捷键 
     
    sudo su 
    echo "1" > /proc/sys/kernel/sysrq 
     
    长期使用编辑 
    /etc/sysctl.conf 
    设置 
     
    kernel.sysrq = 1 
     
    如果只是X死了 
    Left Alt+SysRq+R 把键盘从X手中夺过来 
    Left Alt+SysRq+K 重启X 
     
    如果是其他原因, 如显卡驱动的debug 
    用无敌的"REISUB" 
    口诀: "Reboot Even If System Utterly Broken" 
    Left Alt+SysRq+R 把键盘从X手中夺过来 
    Left Alt+SysRq+E 终结所有进程 
    Left Alt+SysRq+I 强制关闭所有进程 
    Left Alt+SysRq+S 同步硬盘数据 
    Left Alt+SysRq+U 卸载然后只读挂载所有文件系统. 
    Left Alt+SysRq+B 重启 
      www.2cto.com  
    下面列出的是Linux系统的魔法键,相信对于大家了解与使用会更加的方便。 
     
    自从我换成了开源的A卡驱动以后,我的电脑就时不时地崩溃。现象是:突然之间,整个画面就冻结了,鼠标也不能动了,几乎所有的按键也都失效 了,ctrl+alt+F1 和 ctrl+alt+backspace 都无效。这种情况一般发生在有不规则形状的窗口出现的时候,比如gnome-osd的透明文字,但也不是很一定的,发生的概率也不高,一般几天才会有一 次。我想,要彻底解决的话,也只能等待驱动的改进了。 
     
    不过,每次崩溃都强行按电源的话,还是有点心痛的。幸好办法还是有的,因为驱动程序其实也只是一个程序而已,这时候即使驱动死掉了,鼠标键盘不 能动,linux内核还是在正常运行的(按理如果我开了sshd的话,其他机器还是能ssh上来的)。而且,内核还是能处理一些键盘事件的,比如本文要说 的:Magic System Request Key 
     
    以下按键,一般情况下不建议使用,除非是ctrl+alt+F1都失效了,才用。 
     
    使用Magic SysRq key的前提是CONFIG_MAGIC_SYSRQ这个内核选项被打开,并且没有在/proc/sys/kernel/sysrq里禁用掉,也就是 cat 这个文件的时候,出来的是 1 (或其他某些非0值)。其实这两个条件,在一般的linux发行版里都是满足的。下面就来介绍一下几个键的具体作用,其中SysRq指的是右上角的 “Print Screen”键。 
     
    ALT-SysRq-b 立即重启系统,不卸载分区和同步文件。 
    ALT-SysRq-c 调用kexec内核函数来重启,可以生成个crashdump。 
    ALT-SysRq-d 显示所有的“锁”,如果开了X的话,估计基本看不到。 
    ALT-SysRq-e 给除了init以外的所有进程发送SIGTERM信号,可以试图正常结束所有进程。 
    ALT-SysRq-f 调用oom_kill函数来干掉占用了很大内存的进程。 
    ALT-SysRq-g 内核调试相关的(好像新内核已经没了?)。 
    ALT-SysRq-h 显示其他key的帮助,同样,如果开了X的话,估计基本看不到。 
    ALT-SysRq-i 给除了init以外的所有进程发送SIGKILL信号。 
    ALT-SysRq-k 结束当前虚拟终端的所有进程。 
    ALT-SysRq-l 显示所有活动CPU的栈跟踪信息。 
    ALT-SysRq-m 显示内存状态。 
    ALT-SysRq-n 
    ALT-SysRq-o 可能的话,关机。 
    ALT-SysRq-p 显示当前的寄存器状态和标志位。 
    ALT-SysRq-r 关闭键盘的raw模式。 
    ALT-SysRq-s 同步内存里的数据到硬盘。 
    ALT-SysRq-t 显示当前的任务信息。 
    ALT-SysRq-u 以只读模式重新挂载所有分区。 
    ALT-SysRq-v 
    ALT-SysRq-w 显示不可中断的任务 
    ALT-SysRq-x 
    ALT-SysRq-z 
    ALT-SysRq-数字键 调整日志输出级别 
     
    另外,除了物理的按键以外,其实还可以把某个键的值用root权限写到 /proc/sysrq-trigger 文件里(这个文件是个只写不读的怪文件,哈哈),比如 
     
    echo t > /proc/sysrq-trigger 
     
    ,来触发Magic SysRq key。 
     
    以上内容可以在内核源码的 Documentation/sysrq.txt 里找到英文原文,但是即便是这个官方文档,也似乎不是每个按键都有效的,可能是某些只有在特定的硬件条件下才有效,又或者文档没更新? 
     
    在万一遇到程序崩溃的时候,你可能需要按的键是: ALT-SysRq-reisub 来安全地重启机器~

      目前的日期/时间是2018-06-18, 12:08 pm