怎样处理linux死机

原文:http://blog.chinaunix.net/uid-8196371-id-4163118.html

有时系统负载过大,程序不能及时响应,很容易死机。对于个人用户来说,强行关机再重启就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 重启

 

posted @   letmedown  阅读(644)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示