linux卡住freeze解决办法

2023-05-16

状况

踢出用户后启动服务器,在机房点击键盘没有反应,等待一个小时服务器一直卡在下面界面。

一些底层软件的 bug 也可能导致一些奇怪的死机问题。

Linux 运行过程中(为了提高性能)会把大量的数据暂时放在内存缓存中,而不是实时同步写入到磁盘,Linux 根据情况只有在需要(触发某条件)的时候才写入磁盘,所以这个时候挂机,数据还留在内存,没有办法及时写到磁盘,强制断电重启会造成数据不一致、部分数据丢失、文件系统损坏等。如果强制重启可能会导致ext4分区损坏。

解决方法

键盘上一般都有一个键,SysRq,如下图所示

当然有个条件是,系统虽然罢工停止了对大部分服务的响应,但仍然能处理键盘的中断请求。SysRq (System request) 常被称为 Magic SysRq key,在 Linux 下它被定义为一系列按键组合,之所以说它 magic,是因为它常能在系统挂起、多数服务都无法响应的时候做点事(预定义的操作),而且能在磁盘数据安全的情况下完成重启,除此之外还能捕获一些有用的系统运行信息。

首先确认当前使用的 Linux 内核支持 SysRq:

grep "CONFIG_MAGIC_SYSRQ" /boot/config-`uname -r`

 如果CONFIG_MAGIC_SYSRQ=y就说明支持这种方式重启

 

 SysRq 安全重启的推荐按键组合是 Alt + SysRq + R/E/I/S/U/B,同时按下 Alt 键和 SysRq 键,加上R/E/I/S/U/B (不区分大小写)中的一个键。

R – 把键盘设置为 ASCII 模式
E – 向除 init 外所有进程发送 SIGTERM 信号
I – 向除 init 外所有进程发送 SIGKILL 信号
S – 磁盘缓冲区同步
U – 重新挂载为只读模式
B – 重启系统

需要注意的是这些按键之间有顺序,而且按键之间有时间间隔(因为要等待前一个操作的完成),推荐的时间间隔是

Alt + SysRq +R

等待 1 秒

Alt + SysRq + E

等待30 秒

Alt + SysRq + I

等待 10 秒

Alt + SysRq + S

等待 5 秒

Alt + SysRq + U

等待 5 秒

Alt + SysRq + B.

我们通常只在意数据是否安全的同步到了磁盘,所以我们一般只用 S-B 组合,按下 Alt + SysRq + S 后等待 Emergency Sync complete 提示,同步完成确认后用 Alt + SysRq + B 立刻重启。

参考:使用 SysRq 键安全重启挂起的 Linux_wingking84的博客-CSDN博客

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux卡住freeze解决办法 的相关文章

  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC
  • Linux 中热插拔设备时检测设备是否存在

    我正在运行 SPIcode http lxr free electrons com source drivers spi spi omap2 mcspi c在熊猫板上 我想知道其中的哪个功能code http lxr free electr
  • Inotify linux 监视子目录

    是否可以以这种模式监视目录 storage data usernames Download gt storage data Download 我需要监视每个用户的下载文件夹中是否进行了更改 也许我需要创建所有路径的列表 将其放入数组中 并在
  • Linux shell 脚本:十六进制数字到二进制字符串

    我正在 shell 脚本中寻找一些简单的方法来将十六进制数字转换为 0 和 1 字符的序列 Example 5F gt 01011111 是否有任何命令或简单的方法来完成它 或者我应该为其编写一些开关 echo ibase 16 obase
  • sleep 0 有特殊含义吗?

    我看到很多用法sleep 0在我的一个客户项目中 代码看起来像这样 while true sleep 0 end 阅读一些像这样的答案this https stackoverflow com questions 3727420 signif
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • 设置 Apache POI 的路径

    我想创建 Excel 文件并使用 java 程序在该文件中写入数据 That is here http www techbrainwave com p 554我在 java 文件所在的位置提取了 Apache POI 并将该路径包含在路径变
  • SONAR - 使用 Cobertura 测量代码覆盖率

    我正在使用声纳来测量代码质量 我不知道的一件事是使用 Cobertura 测量代码覆盖率的步骤 我按照以下步骤操作http cobertura sourceforge net anttaskreference html http cober
  • 信号处理程序有单独的堆栈吗?

    信号处理程序是否有单独的堆栈 就像每个线程都有单独的堆栈一样 这是在 Linux C 环境中 来自 Linux 手册页signal 7 http kernel org doc man pages online pages man7 sign
  • Godaddy 托管上的 CakePHP 控制台

    我一直在努力让我的 CakePHP 网站在 Godaddy 网格托管 帐户上运行 我的蛋糕应用程序设置是从帐户的子目录托管的 并且可以通过子域访问 我必须调整我的 htaccess 文件才能使其正常工作 现在我需要让 CakePHP 控制台
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • 为什么我收到的数据包数据大小大于mss?

    我在两台 PC 上使用 ifconfig ethX mtu 300 修改了 MTU 并使用 netperf 测试网络 我用 WireShark 嗅探了 SYN 数据包中的 MSS 260 但我得到了一些大于 260 的数据包 为什么 嗅探器
  • 从 PL/SQL 调用 shell 脚本,但 shell 以 grid 用户而非 oracle 身份执行

    我正在尝试使用 Runtime getRuntime exec 从 Oracle 数据库内部执行 shell 脚本 在 Red Hat 5 5 上运行的 Oracle 11 2 0 4 EE CREATE OR REPLACE proced
  • 是否可以在Linux上将C转换为asm而不链接libc?

    测试平台为Linux 32位 但也欢迎 Windows 32 位上的某些解决方案 这是一个c代码片段 int a 0 printf d n a 如果我使用 gcc 生成汇编代码 gcc S test c 然后我会得到 movl 0 28 e
  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 如何使用 bash 锁定文件

    我有一个任务从远程服务器同步目录 rsync av email protected cdn cgi l email protection srv data srv data 为了使其定期运行并避免脚本 reEnter 问题 我使用 rsyn
  • 如何使用 xterm.js 创建基于 Web 的终端以 ssh 进入本地网络上的系统

    我偶然发现了这个很棒的图书馆xterm js https xtermjs org 这也是 Visual Studio Code 终端的基础 我有一个非常普遍的问题 我想通过基于网络的终端 不在网络中 可能位于 aws 服务器上 访问本地网络
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c

随机推荐

  • Java多线程之生产消费模型

    生产消费模型 所谓生产消费模型 xff0c 是通过一个容器来解决生产者和消费者的强耦合问题 通俗的讲 xff0c 就是生产者不断的生产 xff0c 消费之也在不断消费 xff0c 消费者消费的产品是生产者生产的 xff0c 这就必然存在一个
  • 阿里中台(看图不说话)

    阿里中台战略 xff0c 源于阿里高管15年中参观世位于芬兰界上最成功的移动游戏公司Supercell Supercell的核心竞争力就在多年的游戏研发中积累了非常科学的研发方法和体系 xff0c 包括游戏开发过程中公共 通用的游戏开发素材
  • Android Studio3.5下创建的BottomNavigationView项目无法使用NoActionBar的处理

    在使用Android Studio3 5下创建的BottomNavigationView项目时因为BottomNavigationView使用fragment控件的NavHostFragment进行Fragment切换 xff0c 但却无法
  • SQL Server like 的简单用法解释 模糊查询

    一 问题或解决方法应用场景 使用SQL Server 查询时 xff0c 经常会使用模糊查询 xff0c 需要查询包含的指定字符串内容 下面的内容 xff0c 我简单总结下 xff0c like 的常用方式 xff08 电脑没法发图片 xf
  • Java的生产者消费者模型

    前言 学完了线程后 xff0c 我又去找了一些线程相关的练习题来练手 xff0c 其中印象最深的就是生产者消费者模型这一块 xff0c 为什么呢 xff0c 因为它每一篇练习题里都有 xff0c 开始没看懂 xff0c 后面就去仔细研究了一
  • IDEA创建vue项目及vue项目中路由的配置

    首先参考了这篇文章用idea创建了vue项目 然后我想直接加 login就访问到我新建的Login vue文件 xff0c 发现不行 xff08 小白有点天真了 xff09 得知需要配置路由才能这样访问到 xff0c 但配置的过程到处碰壁
  • KBQA知识问答概述

    问答系统历史 xff1a 基于模板的问答专家系统 gt 基于信息检索的问答 gt 基于社区的问答 gt 基于知识库的问答 xff08 受益于维基百科等 xff09 问答形式分类 xff1a 一问一答 xff0c 交互式问答 xff0c 阅读
  • 2021-10-15Ubuntu开机进入tty1,无法进入图形界面

    1 tty1界面输入账号密码 2 输入指令 xff1a sudo apt install ubuntu desktop 3 重启 xff1a reboot
  • 进程互斥、同步--多生产者多消费者问题

    1 问题描述 xff1a 有一个缓冲区 xff0c 生产者1和生产者2分别生产产品1和产品2 xff0c 消费者1和消费者2分别消费产品1和产品2 只有当缓冲区空时 xff0c 生产者才可以向缓冲区生产产品 当缓冲区不空时消费者1或者2才可
  • 剑指 Offer 03. 数组中重复的数字

    https leetcode cn com problems shu zu zhong zhong fu de shu zi lcof span class token keyword class span span class token
  • VScode连接服务器+SFTP同步文件

    VScode连接服务器 43 SFTP同步文件 1 VScode远程连接服务器2 Vscode本地与远程文件同步 1 VScode远程连接服务器 应用商店安装remote development 此时会自动安装其他的 xff08 Remot
  • MyBatis和MyBatisPlus关系

    MyBatis和MyBatis Plus都是用来操作数据库的框架 MyBatis是一个持久层框架 xff0c 它的核心功能是将Java程序中的对象映射到数据库表中 MyBatis Plus是在MyBatis的基础上进行了封装和增强 xff0
  • 最全GPU架构知识介绍

    1 GPU的起源 GPU缩写为Graphics Processing Unit的 xff0c 一般称为视觉处理单元 GPU被广泛用于嵌入式系统 移动电话 个人电脑 工作站和电子游戏解决方案当中 现代的GPU对图像和图形处理是十分高效率的 x
  • ClassNotFoundException: org.slf4j.Logger报错问题

    ClassNotFoundException org slf4j Logger报错解决 1 jar包没有导入2 检查idea编译器 1 jar包没有导入 检查一下jar包是否添加到依赖 xff08 这一部分是检查pom xml这个文件 xf
  • zabbix报警

    zabbix 告警有三种方式 xff1a 1 邮件 2 短信 3 微信 最常用的就是邮件报警 使用第三方SendEmail邮件报警 1 将sendEmail v1 56 tar gz报警小程序上传至服务端 root 64 localhost
  • kaili下载教程

    kaili下载 不经意在社区看了一下好像没有最新的kaili下载教程 xff0c 所以就想着做一个 kaili下载 xff1a https docs kali org 1 进入官网首页 xff0c 最下面的两个箭头可以直接跳过第2步 xff
  • 2018.9.14-Asp.net实现动态主题(皮肤)更改

    Asp net实现动态主题 xff08 皮肤 xff09 更改 使用 xff1a Microsoft Visual Studio 2010 系统 xff1a win10 项目结构图 xff1a 第三个按钮 xff1a 更改项目目录显示方式
  • LVM——linux缩小逻辑卷(xfs)

    在这里 xff0c 我们将向您展示如何在Linux中收缩LVM卷或分区 xff0c 方法是首先调整文件系统的大小 xff0c 然后调整逻辑卷的大小 如果您尝试执行相反操作请看 xff1a LVM linux增加LVM分区 注意 xff1a
  • Linux——重启服务器后磁盘名称错乱

    背景 某台服务器有如下文件系统 xff0c fwork1 挂载在 dev sda1 xff0c fwork2挂载在 dev sdb1 某次添加新硬盘重启后 xff0c 变成了fowrk1挂载在 dev sdb1 xff0c fwork2挂载
  • linux卡住freeze解决办法

    状况 踢出用户后启动服务器 xff0c 在机房点击键盘没有反应 xff0c 等待一个小时服务器一直卡在下面界面 一些底层软件的 bug 也可能导致一些奇怪的死机问题 Linux 运行过程中 xff08 为了提高性能 xff09 会把大量的数