# cat /proc/sys/kernel/sysrq
开启SysRq:
# echo 1 > /proc/sys/kernel/sysrq
也可以使用sysctl命令:
# sysctl -w kernel.sysrq=1
kernel.sysrq = 1
实际上sysctl这条命令就是通过修改/proc/sys/kernel/sysrq来生效的。可以把“kernel.sysrq = 1”设置到/etc/sysctl.conf中,使SysRq在下次系统重启仍生效。
上面说0表示完全关闭SysRq,1表示使能SysRq的所有功能,还可以设置成其他数字来选择开启部分功能,可参考内核里的Documentation/sysrq.txt。
SysRq支持的所有功能列表及相应的handler见drivers/tty/sysrq.c中静态数组sysrq_key_table[]的定义,当然,也可以通过下面提到的SysRq的help信息了解到。
2.2 使用SysRq
我们可以直接通过按键的方式或者通过写/proc/sysrq-trigger的方式来触发SysRq的操作。SysRq支持的操作可参考下面的HELP输出:
# echo > /proc/sysrq-trigger
[16037.132214] SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) show-blocked-tasks(w) dump-ftrace-buffer(z)
即, “SysRq键+一个字母” 来触发一个操作,例如 SysRq + t 打印所有任务的状态。
那么如何产生一个SysRq键呢?
- 在Ubuntu下,图形界面环境不能使用SysRq,需进入文本虚拟终端环境(Ctrl+Alt+F1从图形桌面切换到虚拟终端,Alt+F7可切回来),然后同时按下Alt和Print Screen键以及相应的字母键。
- 在嵌入式设备上,通过串口工具也可以触发SysRq,如果使用SecureCRT,则同时按下Alt和Print Screen键,会出现上述HELP,然后紧接着按下某个字母。如果使用teraTerm,则点击菜单中的Control->Send Break,会出现上述HELP,然后紧接着按下某个字母。
也可以不通过按键,而是写/proc/sysrq-trigger的方式,用法形如:
echo c > /proc/sysrq-trigger
即,向sysrq-trigger写入相应的字母即可。并且,无论/proc/sys/kernel/sysrq是什么值,这种方式都是可用的。
3. SysRq有什么用
从上述HELP信息就能看出来SysRq都能干什么,在Documentation/sysrq.txt中也有详细介绍。例如,在系统卡住或出现其他异常但还没完全死掉(没有panic或触发watchdog)时,可以人为地制造OOM或panic,看看当前内核在干什么。下面这篇文章对SysRq的使用场景有较全面的介绍和举例,贴在这里供参考:
https://www.ibm.com/developerworks/cn/linux/l-cn-sysrq/
我上面提到了sysrq的handlers定义的代码位置,如果需要,你甚至可以添加自定义的操作。
sysrq key是什么
sysrq key是一组kernel在任何时候都可以响应的组合热键。
在嵌入式设备上我们一般没法使用组合按键,而是通过访问proc文件来发送command给kernel。
sysrq的enable需要配置Magic SysRq key (CONFIG_MAGIC_SYSRQ)。
/proc/sysrq-trigger
操作该目录来触发对应的功
CentOS5.4
Linux 2.6.18-164.el5
执行 echo 1 > /proc/sys/kernel/
sysrq 开启
魔术键,
若要永久生效则需修改配置文件 /etc/sysctl.conf 里面的 kernel.
sysrq = 0 置为1重启即可。
比较常用的组合
键为: alt + sys rq + m,打印出内存信息,alt +
sysrq + b 重启系统,
Linux Magic System Request Key Hacks Documentation for sysrq.c
* What is the magic SysRq key?
It is a 'magical' key combo you can hit which the kernel will respond to regardless of whatever else it
本课程中所说的组件(Component),是指一个大型系统中,某一个可以独立工作的、封装完整的组成部分。在微服务架构中,组件实际上就代表着微服务本身,或者说单个微服务。以下将其称为“单服务测试”(Single-service Test)。
这个测试的实质,就是将一个微服务与其所依赖的所有其他服务或资源全部隔离开,从该服务外部“用户”的角度来审视服务能否提供预期的输出。
这样做有很多好处:通过把...
这是一组“
魔术组合
键”,只要内核没有被完全锁住,不管内核在做什么事情,使用这些组合
键能即时打印出内核的信息。
使用
SysRq组合
键是了解系统目前运行情况的最佳方式。如果系统出现挂起的情况或在诊断一些和内核相关,比较怪异,比较难重现的问题的时候,使用
SysRq键是个比较好的方式。
怎么打开和关闭
SysRq组合
键?
为了安全起见,在红帽企业版Lin...
匿名答题,发表于2014年,此外没有留下任何多余信息。
2年躺赚200万,相当于普通程序员10年的工资。没想到Pyhon这么强大,怪不得有人说“除了不会生孩子,Python什么都会。”
Python能够这么火其中一个重要的原因是数据分析带起来的。Python的优点有很多,要是能运用到工作中,会发现工作的效率大大提升,当然涨薪也是再正常不过的事情。
互联网公司很多人都喜欢用Python.