sysrq
【用途】
Sysrq被称为”魔术组合键”, 是内建于Linux内核的调试工具。只要内核没有完全锁住,不管内核在做什么事情,使用这些组合键都可以搜集包括系统内存使用、CPU任务处理、进程运行状态等系统运行信息。
【原理】【内核帮助文档kernel/Documentation/sysrq.txt】
首先,内核配置选项中要使能CONFIG_MAGIC_SYSRQ选项,这样系统启动之后,会生成/proc/sysrq-trigger节点用于调试。
其次,可以在/etc/sysctl.conf中设置kernel.sysrq=1默认使能sysq功能。也可以通过写/proc/sys/kernel/sysrq节点动态使能sysrq功能。写入不同的值使能不同的功能:
0 | disable sysrq completely |
1 | enable all functions of sysrq |
2 | enable control of console logging level |
4 | enable control of keyboard (SAK, unraw) |
8 | enable debugging dumps of processes etc. |
16 | enable sync command |
32 | enable remount read-only |
64 | enable signalling of processes (term, kill, oom-kill) |
128 | allow reboot/poweroff |
256 | allow nicing of all RT tasks |
【使用说明】
- #echo m > /proc/sysrq-trigger 导出内存分配信息
- #echo t > /proc/sysrq-trigger 导出当前任务状态信息
- #echo p > /proc/sysrq-trigger 导出当前CPU寄存器和标志位信息
- #echo c > /proc/sysrq-trigger 产生空指针panic事件,人为导致系统崩溃
- #echo s > /proc/sysrq-trigger 即时同步所有挂载的文件系统
- #echo u > /proc/sysrq-trigger 即时重新挂载所有的文件系统为只读
- #echo w > /proc/sysrq-trigger转储处于uninterruptable阻塞状态的任务
转载自:https://www.cnblogs.com/justin-y-lin/p/5424555.html
正文完