SysRq使用

电脑老是卡死

最近电脑老是突然卡死,感觉像是爆内存了,找来找去也没什么解决办法
于是学到的了个新东西—SysRq
这东西可有用了,在电脑卡死的时候可以尝试让电脑恢复,如果无法恢复还能尝试正常关机,而不是按电源键
以后碰到系统卡死了可以用这种方法来不伤害内核的情况下重启电脑
Kernel panic 可不有意思 ,,Ծ‸Ծ,,

开启 SysRq

Arch Linux 默认是不允许所有的 SysRq 命令的,所以要设置一下
将 1 写入到 /proc/sys/kernel/sysrq 中就可以了

1
sudo echo "1" > /proc/sys/kernel/sysrq

不过这只在本次开机有效,下次还是不行,所以可以设置为开机启动
kernel.sysrq = 1 写入到 /etc/sysctl.d/99-sysctl.conf 中就可以了

1
echo kernel.sysrq = 1 > /etc/sysctl.d/99-sysctl.conf 

SysRq 键

一般键盘上都会有的,如果没有可能是没写,但它肯定存在
比如我的笔记本键盘上没有那个按键是写了 SysRq 的,但是我有 Print Screen 键(截图键)
其实 Print Screen 也是 SysRq 键

有用的 SysRq 命令

命令 效果
Alt+SysRq+f 如果没有进程可关闭了,就使用 OOM(out-of-memory) killer
Alt+SysRq+R+ Unraw 从X收回对键盘的控制
Alt+SysRq+E+ Terminate 向所有进程发送SIGTERM信号,让它们正常终止
Alt+SysRq+I+ Kill 向所有进程发送SIGKILL信号,强制立即终止
Alt+SysRq+S+ Sync 将待写数据写入磁盘
Alt+SysRq+U+ Unmount 卸载所有硬盘然后重新按只读模式挂载
Alt+SysRq+B+ Reboot 重启

Alt+SysRq+f可以用来应对爆内存

一定要记住后面 6 个命令 –> REISUB
助记 Reboot Even If System Utterly Broken
除非内核都卡住了,否则内核一定会接受 SysRq 命令,所以这六个命令可以用来安全的登出和注销系统


最近电脑老是突然卡住,而且好几次在卡之前都看到很多内存被吃了,从开机到卡主内存越用越多
目前还没找到解决方法,只能先解决碰到了该怎么办吧 (,,•́ . •̀,,)