Chinaunix首页 | 论坛 | 博客
  • 博客访问: 580049
  • 博文数量: 65
  • 博客积分: 2844
  • 博客等级: 上尉
  • 技术积分: 996
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-02 12:01
文章分类

全部博文(65)

文章存档

2014年(7)

2012年(20)

2011年(35)

2010年(3)

分类: LINUX

2014-03-22 10:54:41

有时系统负载过大,程序不能及时响应,很容易死机。对于个人用户来说,强行关机再重启就OK。但是在服务器上,服务器需要全天工作提供服务,不能停止,更重要的是数据的安全,强行关机会导致未同步的数据丢失,那要如何解决呢?

如果在图形界面下死机,可以先试试文字界面,按ctrl+alt+F2(F1-F6一般都可以),会切换到另外一个虚拟终端,需要一个账号来登入,进入后打top命令看一下进程,等这个表刷那么一两次,就可以确定占用资源比较大的进程了,然后输入q退出,回到终端内,把占用资源比较大的进程kill掉,这样可以解决相当一部分问题按ctrl+alt+F7回到图形界面。
但有的时候是比较底层的软件出现问题,那这个方法就不适用了。下面介绍一下reisub方法。说具体一点,是一种系统请求,直接交给内核处理。键盘上一般都有一个键,SysRq,和PrintScreen在一个键位上,这就是系统请求的键。这个方法可以在死机的情况下安全的重启计算机,数据不会丢失。
要使用Magic Sysrq Key,有三个基本条件:
1.键盘上有Sysrq键
2.系统使用的内核,在编译时打开了CONFIG_MAGIC_KEY选项
    # 验证方法:
    grep -F CONFIG_MAGIC_SYSRQ /boot/config-`uname -r`
    # y表示已开启
    CONFIG_MAGIC_SYSRQ=y
3.系统配置Magic Sysrq Key为可用
    #临时启用,设置/proc/sys/kernel/sysrq
    sudo echo "1" > /proc/sys/kernel/sysrq

    #长期使用,查看 /etc/sysctl.conf,确认
    kernel.sysrq = 1
    #如果先前为0,更改配置后使用以下方式激活
    sysctl -p

使用方法:按住alt和SysRq键的同时,再输入reisub,输入完b之后,系统自动重启。
解释:按住art和SysRq键时,输入的一切都会直接交给Linux内核来处理。
      reisub中的每一个字母都是一个独立操作,他们分别表示:
      Alt+SysRq+R 把键盘从X手中夺过来
      Alt+SysRq+E 终结所有进程
      Alt+SysRq+I 强制关闭所有进程
      Alt+SysRq+S 同步所有挂载的文件系统
      Alt+SysRq+U 重新挂载苏有的文件系统为只读
      Alt+SysRq+B 重启
阅读(6486) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~