上游内核的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相同的信息。