上游内核的SysRq键显示的例子
下面是命令键m(showMem)的输出示例。输出的是内存和交换区的使用情况。
SysRq:Show Memory
Mem-info:
Node 0 DMA per-cpu:
……
Active:128436 inactive:87353 dirty:93 writeback:0 unstable:0
free:6411 slab:30787 mapped:1294 pagetables:435 bounce:0
Swap cache:add 0,delete 0,find 0/0
Free swap=1020116kB
Total swap=1020116kB
261920 pages of RAM
5716 reserved pages
9262 pages shared
0 pages swap cached
下面是命令键t(showTasks)的输出示例。
SysRq:Show State
task PC stack pid father
……
sshd S ffffffff8048d5e0 0 3121 2908
ffff81003ec31a28 0000000000000082 0000000000000000 ffff810032c455b8
……
Call Trace:
[<ffffffff80471eb6>]schedule_timeout+0x1e/0xad
[<ffffffff8036bc83>]tty_poll+0x5f/0x6d
……
[<ffffffff802982f4>]sys_select+0xc1/0x183
[<ffffffff8028c00a>]sys_write+0x45/0x6e
……
使用命令键w(shoW-blocked-tasks)也会输出同样的信息。
下面是命令键l(aLlcpus)的输出示例。输出的有安装的模块、SysRq键的处理程序运行的CPU寄存器值、栈、回溯,这里省略部分内容。
SysRq:Show backtrace of all active CPUs
CPU 0:
Modules linked in:ipmi_watchdog ipmi_devintf ipmi_si ipmi_msghandler
……
Pid:0,comm:swapper Not tainted 2.6.26#2
RIP:0010:[<ffffffff80211d85>][<ffffffff80211d85>]mwait_idle+0x41/0x44
RSP:0018:ffffffff8087df60 EFLAGS:00000246
RAX:0000000000000000 RBX:0000000000000000 RCX:0000000000000000
……
Call Trace:
[<ffffffff8020ab7b>]?cpu_idle+0x6d/0x8b
CPU1:
……
Call Trace:
<IRQ>[<ffffffff8037c71d>]showacpu+0x0/0x52
[<ffffffff8037c75d>]showacpu+0x40/0x52
[<ffffffff8021a118>]smp_call_function_interrupt+0x3b/0x62
[<ffffffff8020c8d6>]call_function_interrupt+0x66/0x70
<EOI>[<ffffffffa0049994>]:ext3:ext3_bmap+0x0/0x78
……
使用命令键p(showPc)也会输出同样的信息。使用命令键q(show-all-timers)输出与/proc/timer_list相同的信息。如果是启用CONFIG_SCHEDSTATS编译的内核,在命令键t和w输出的信息中添加与/proc/sched_debug相同的信息。