sysRq键使用方法
0赞
发表于 2023/4/12 11:43:09
阅读(1092)
SysRq键简介
SysRq键是一个魔术案件,只要在内核没有完全卡死的情况下,内核都会相应SysRq 键的输入,使用这些组合键都可以搜集包括系统内存使用、CPU任务处理、进程运行状态等系统运行信息。
配置
内核配置选项中要使能CONFIG_MAGIC_SYSRQ
选项,这样系统启动之后,会生成/proc/sysrq-trigger
节点用于调试。
修改/etc/sysctl.conf
启动SysRq。
命令键 | 功能 |
---|---|
b |
将立即重启系统,不会同步或者卸载磁盘。 |
c |
将执行系统 crash,如果配置了系统 crashdump,将执行 crashdump。 |
d |
显示所有持有的锁。 |
e |
发送 SIGTERM 信号给所有进程,除了 init 进程。 |
f |
将调用 oom killer 杀掉一个过度占用内存的进程,如果什么任务都没杀, 也不会 panic。 |
g |
kgdb 使用(内核调试器)。 |
h |
将会显示帮助。(实际上除了这里列举的键,其他的都将显示帮助, 但是h 容易记住):-) |
i |
发送 SIGKILL 给所有进程,除了 init 进程。 |
j |
强制性的 “解冻它” - 用于被 FIFREEZE ioctl 操作冻住的文件系统。 |
k |
安全访问秘钥(SAK)杀掉在当前虚拟控制台的所有程序,注意:参考 下面 SAK 节重要论述。 |
l |
显示所有活动 cpu 的栈回溯。 |
m |
将导出当前内存信息到你的控制台。 |
n |
用于使所有实时任务变成普通任务。 |
o |
将关闭系统(如果配置和支持的话)。 |
p |
将导出当前寄存器和标志位到控制台。 |
q |
将导出每个 cpu 上所有已装备的高精度定时器(不是完整的 time_list 文件显示的 timers)和所有时钟事件设备的详细信息。 |
r |
关闭键盘的原始模式,设置为转换模式。 |
s |
将尝试同步所有的已挂载文件系统。 |
t |
将导出当前所有任务列表和它们的信息到控制台。 |
u |
将尝试重新挂载已挂载文件系统为只读。 |
v |
强制恢复帧缓存控制台。 |
v |
触发 ETM 缓存导出 [ARM 架构特有] |
w |
导出处于不可中断状态(阻塞)的任务。 |
x |
在 ppc/powerpc 架构上用于 xmon 接口。在 sparc64 架构上用于显示全局的 PMU(性能监控单元)寄存器。在 MIPS 架构上导出所有的 tlb 条目。 |
y |
显示全局 cpu 寄存器 [SPARC-64 架构特有] |
z |
导出 ftrace 缓存信息 |
0 -9 |
设置控制台日志级别,该级别控制什么样的内核信息将被打印到你的 控制台。(比如0 ,将使得只有紧急信息,像 PANICs or OOPSes 才能到你的控制台。) |
总结
SysRq 在处理系统挂起时安全重启方面已经比较完善了。
https://blog.csdn.net/QTM_Gitee/article/details/122929292
https://blog.csdn.net/weixin_42506599/article/details/108411139
https://www.codenong.com/cs106961584/
https://www.kernel.org/doc/html/latest/translations/zh_CN/admin-guide/sysrq.html?highlight=sysrq
https://blog.csdn.net/zhangzhi123456789/article/details/47088253
原文链接:https://mp.weixin.qq.com/s/Sb2HRKuGmjOvhucLFkzdcQ
电子技术应用专栏作家 嵌入式与Linux那些事