如果整个系统都死机了,可以尝试使用SysReq 解决
在大多数发行版中,默认情况下已编译并启用,要确认该选项是否开启,请使用
sysctl kernel.sysrq
如果值大于1,说明已启用
要永久更改该值,可以使用
sudo vim /etc/sysctl.conf
搜索kernel.sysrq,并更改为想要的值
更改/etc/sysctl.conf,执行下面的命令,不需要重启系统就能使更改生效
sysctl -p
Alt + SysRq + r | 使键盘脱离原始模式,使控制权从 X 手中夺走 |
Alt + SysRq + e | 将 SigTerm 发送到所有流程,让他们有机会优雅地退出 |
Alt + SysRq + i | 将 SigKill 发送到所有进程 |
Alt + SysRq + k | 终止当前虚拟控制台中的所有进程 |
Alt + SysRq + s | 同步所有挂载的文件系统,将所有数据刷新到磁盘 |
Alt + SysRq + u | 以只读方式重新挂载所有文件系统 |
Alt + SysRq + b | 立即重新启动系统,不同步或卸载 |
Alt + SysRq + o | 关机系统 |
发送请求时,同时按下 Alt 键和 SysRq 键,加上R/E/I/S/U/B (不区分大小写)中的一个键。如果您无法看到内核的响应,请在命令之间留出几秒钟的时间。请求硬盘操作时注意硬盘指示灯。
方式一
Alt + SysRq + r e k
此序列适用于重新启动无响应的 服务器。首先,使用 Alt + SysRq + r 将键盘从原始模式中解脱出来。然后,您请求使用 Alt + SysRq + e 向所有进程发送 SIGTERM。服务器可能会使用此请求重新启动。如果是这样,则您已经拯救了您的系统。如果没有,请继续执行第三个请求,Alt + SysRq + k。这会将 SIGKILL 发送到当前虚拟控制台中的所有进程
方式二
Alt + SysRq + r e i s u b
、
参考:
Make changes to sysctl.conf take effect without rebooting Linux? - SysTutorials
处理冻结的 Linux 系统的 3 种方法 (linuxhandbook.com)