嵌入式与Linux那些事

电子技术应用专栏作家——嵌入式与Linux那些事。关注嵌入式与Linux的校招社招,本人整理了《嵌入式软件工程师笔试面试指南》PDF,平时发布嵌入式与Linux相关的实用技术文章

sysRq键使用方法

0
阅读(1092)

SysRq键简介

SysRq键是一个魔术案件,只要在内核没有完全卡死的情况下,内核都会相应SysRq 键的输入,使用这些组合键都可以搜集包括系统内存使用、CPU任务处理、进程运行状态等系统运行信息。

配置

内核配置选项中要使能CONFIG_MAGIC_SYSRQ选项,这样系统启动之后,会生成/proc/sysrq-trigger节点用于调试。

修改/etc/sysctl.conf启动SysRq。

image.png



image.png


image.png

命令键 功能
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 才能到你的控制台。)



image.png

image.png

image.png

image.png

image.png


总结

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

微信图片_20220708145705.jpg

电子技术应用专栏作家 嵌入式与Linux那些事


Baidu
map