Linux强制重新启动系统——重启服务器的最终救济途径

当Linux服务器进程陷入D状态且常规重启无效时,可以利用内核的SysRq功能强制重启。通过设置/proc/sys/kernel/sysrq为1启用SysRq,然后发送'b'指令触发内核重启,此操作将立即重启系统,不保存任何数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近,有一台Linux服务器出现了不可控的局面,由于umount磁盘操作的失效,导致相关进程都陷入了D状态里,一般情况下最好的解决办法就是重启大法了。

  • 进程陷入D状态无外乎就是因为外部原因造成的,例如等待磁盘的IO、网络的IO……
  • 即便你使用kill -9也是无济于事的……因为进程已经陷进去了,无法响应你的SIGKILL。

理所当然的,我果断采取了reboot -f的操作,让人意想不到的是,连reboot自身也陷进去了,失去响应。

  • reboot -f的区别在于直接通知init重启信号,而跳过一系列的killall、umount操作

下面这是当时保存的现场画面。

当时的情景如下:

  1. 使用systemctl关闭docker服务(docker是在vdb上的)
  2. systemd(init)连带卡死
  3. 尝试remount vdb卡死
  4. reboot -f因systemd连带卡死

通过systemctl查看joblist,基本都因为systemd的原因全部处于waiting状态,导致systemd一直处于cpu的消耗状态。

 JOB UNIT                           TYPE  STATE
4044 session-295.scope              start waiting
3924 session-275.scope              start wai
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值