了解下sysrq-trigger,便于观察内核调试信息和debug。
echo m > /proc/sysrq-trigger 导出内存分配信息
echo t > /proc/sysrq-trigger 导出当前任务状态信息
echo c > /proc/sysrq-trigger 产生空指针panic事件,人为导致系统崩溃
echo p > /proc/sysrq-trigger 导出当前CPU寄存器和标志位信息
echo s > /proc/sysrq-trigger 即时同步所有挂载的文件系统
echo u > /proc/sysrq-trigger 即时重新挂载所有的文件系统为只读
echo w > /proc/sysrq-trigger 转储处于uninterruptable阻塞状态的任务
echo b > /proc/sysrq-trigger 立即重启系统

0-9 设定终端输出的内核 log 优先级
b 立即重启系统
c 内核live reboot,并输出错误信息
d 显示所有排它锁(显示所有被持有的锁)
e 向除 init 外进程发送 SIGTERM 信号,让其自行结束
f 人为触发 OOM Killer (out of memory)
g 当进入内核模式时,以 framebuttter 代替输出(kgdb(内核调试器)使用)
h 输出帮助
i 向除 init 以外所有进程发送 SIGKILL 信号,强制结束进程
k 安全访问密钥(SAK)杀死当前虚拟控制台上的所有程序
l 显示所有活动cpu的堆栈回溯。
m 内存使用信息(将当前内存信息转储到您的控制台。)
n 重置所有进程的 nice(优先级)
o 关机
p 输出cpu 寄存器信息
q Display all active high-resolution time
掌握sysrq:内核调试与系统管理的魔术键

sysrq是Linux系统中的一种调试工具,通过向/proc/sysrq-trigger写入特定字符,可以触发各种系统操作,如导出内存信息、查看任务状态、强制重启等。例如,'echo m > /proc/sysrq-trigger'会转储内存信息,'echo c > /proc/sysrq-trigger'则会导致内核重启。sysrq键为开发者和管理员提供了便利的内核调试和故障排查手段。
最低0.47元/天 解锁文章
1891

被折叠的 条评论
为什么被折叠?



