linux下/proc/sysrq-trigger详解
/proc/sysrq-trigger详解
这是一组“魔术组合键”,只要内核没有被完全锁住,不管内核在做什么事情,使用这些组合键能即时打印出内核的信息。
使用SysRq组合键是了解系统目前运行情况的最佳方式。如果系统出现挂起的情况或在诊断一些和内核相关,比较怪异,比较难重现的问题的时候,使用SysRq键是个比较好的方式。
怎么打开和关闭SysRq组合键?
为了安全起见,在红帽企业版Linux里面,默认SysRq组合键是关闭的。 打开这个功能,运行:
echo 1 > /proc/sys/kernel/sysrq
关闭这个功能:
echo 0 > /proc/sys/kernel/sysrq
如果想让此功能一直生效,在/etc/sysctl.conf里面设置kernel.sysrq的值为1。重新启动以后,此功能将会自动打开。
kernel.sysrq = 1
因为打开sysrq键的功能以后,有终端访问权限的用户将会拥有一些特别的功能。因此,除非是要调试,解决问题,一般情况下,不要打开此功能。如果一定要打开,请确保你的终端访问的安全性。
怎么触发一个sysrq事件?
有几种方式能触发sysrq事件。在带有AT键盘的一般系统上,在终端上输入一下组合键:
Alt+PrintScreen+[CommandKey]
例如,要让内核导出内存信息(CommandKey “m”),你应该同时按下Alt 和 Print Screen 键,然后按下 m 键。
提示:此组合键在Xwindows上是无法使用的。所以,你先要转换到文本虚拟终端下。如果你当前是在图像界面,
能按Ctrl+Alt+F1转换到虚拟终端。
在串口终端上,要想获得同样的效果,需要先在终端上发送Break信号,然后在5秒内输入sysrq组合键。
如果你在机器上有root权限,你能把commandkey字符写入到/proc/sysrq-trigger文件。这能帮助你通过脚本或你不在系统终端上的时候触发sysrq事件。
echo ‘m’ > /proc/sysrq-trigger
当我触发一个sysrq事件的时候,结果保存在什么地方?
当一个sysrq命令被触发,内核将会打印信息到内核的环形缓冲并输出到系统控制台。此信息一般也会通过syslog输出到/var/log/messages。
有时候,可能系统已无法响应,syslogd可能无法记录此信息。在这种情况下,建议你设置一个串口终端来收集这个信息。
那些类型的sysrq事件能被触发?
sysrq功能被打开后,有几种sysrq事件能被触发。不同的内核版本可能会有些不同。但有一些是共用的:
m - 导出关于内存分配的信息,
t - 导出线程状态信息,
p - 导出当前CPU寄存器信息和标志位的信息,
c - 故意让系统崩溃(在使用netdump或diskdump的时候有用),
s - 即时同步所有挂载的文件系统,
u - 即时重新挂载所有的文件系统为只读,
b - 即时重新启动系统,
o - 即时关机(如果机器设置并支持此项功能)。
立即重新启动计算机
echo “b” > /proc/sysrq-trigger立即关闭计算机
echo “o” > /proc/sysrq-trigger导出内存分配的信息 (可以用/var/log/message 查看)
echo “m” > /proc/sysrq-trigger导出当前CPU寄存器信息和标志位的信息
echo “p” > /proc/sysrq-trigger导出线程状态信息
echo “t” > /proc/sysrq-trigger故意让系统崩溃
echo “c” > /proc/sysrq-trigger立即重新挂载所有的文件系统
echo “s” > /proc/sysrq-trigger立即重新挂载所有的文件系统为只读
echo “u” > /proc/sysrq-trigger
linux下/proc/sysrq-trigger详解相关推荐
- linux下top命令参数详解
linux下top命令参数详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. 内存信息.内容如下: ...
- linux下sort命令使用详解---linux将文本文件内容加以排序命令
转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...
- Linux下的awk用法详解
Linux下的awk用法详解 一.awk介绍 二.awk的语法 三.awk常见用法 四.awk其他用法 五.awk语言特性 一.awk介绍 1.AWK 是一种处理文本文件的语言,是一个强大的文本分析工 ...
- linux输入一个用户看是否在工作,linux下的用户管理详解
linux下的用户管理详解 useradd 命令详解 添加用户 想要对linux下面的帐号了解的话首先必须要了解的4个配置文件[root@localhost /]# cat /etc/passwd 首 ...
- Linux下find命令用法详解
Linux下find命令用法详解 学神VIP烟火 学神IT教育:XueGod-IT 最负责任的线上直播教育平台 本文作者为VIP学员 烟火 第一部分:根据文件名查找 1.在当前目录查找名称为test的 ...
- linux中which命令详解,Linux下which命令使用详解(转)
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件位置. f ...
- linux下测试ftp传输,linux下ftp命令使用详解---linux文件传输ftp命令
linux下ftp命令使用详解---linux文件传输ftp命令 上一篇 / 下一篇 2010-12-18 09:15:35 / 个人分类:Linux ftp(file transfer proto ...
- rm命令linux00,linux下rm命令使用详解 | Soo Smart!
linux下rm命令使用详解---linux删除文件或目录命令 用户可以用rm命令删除不需要的文件.该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除 ...
- Linux下文件查找使用详解-羽飞作品
Linux下文件查找使用详解 (1/3) http://www.boobooke.com/v/bbk1579 Linux下文件查找使用详解 (2/3) http://www.boobooke.com/ ...
- linux ping大包指令,linux下ping命令使用详解,
linux下ping命令使用详解, •ping命令一般用于检测网络通与不通,也叫时延,其值越大,速度越慢PING(PacketInternetGrope),因特网包探索器,用于测试网络连接量的程序. ...
最新文章
- TMG学习(十),发布DMZ区网站
- 修改mysql字符集 为utf8_修改mysql数据库字符集为UTF8的
- linux内核err实现,Linux中IS_ERR()函数的理解
- JMS学习六(ActiveMQ消息传送模型)
- (9)FPGA面试技能提升篇(EPI接口)
- 用socket来代替HttpWebRequest和HttpWebResponse
- @程序员,CSDN卫衣、背包、鼠标垫......福利来啦!!!
- msyql之查询某字段值重复的数据个数
- GitLab Docker 前端开发工具链
- 【渝粤题库】陕西师范大学290001 计算机网络
- springboot菜鸟入门
- android adb日志过滤包名,adb过滤只查看某一个app的日志
- 部分商誉确认法和全部商誉确认法
- Deepin安装到移动硬盘
- 2022 美亚杯 团体赛AGC部分+资格赛服务器部分 所有服务器部分解题思路
- 空空老师向青海地震捐款~~把我感动毁了
- imx533 配置 制作SD卡启动文件系统
- H264(NAL简介与帧判断)
- 一个JAVA学习者应该具备的素质
- 高薪邀请国人去菲律宾上班的新型诈骗方式
热门文章
- 不同版本的Fiddler功能说明
- JavaScript 学习笔记(八)前后端交互;Ajax进行前后端交互
- r语言各形状编号_190+张图片!吐血整理!搞定R语言基础绘图全部知识点
- java制作安卓游戏脚本_autoA开源(用java写安卓无障碍脚本)
- 日本要把123万吨核污水排入太平洋,核威胁距离我们有多远?
- python flask项目结构_Flask项目结构
- java短信模板变量参数赋值_JIEQI CMS模板制作必读(JIEQI CMS模板 - 2.赋值变量形式)...
- 国产台式电子计算机,国产十大台式电子管名机6——东方红82-Y型收音机(一)
- 【樂理】鋼琴琴鍵的頻率
- eclipse配置python使用相对路径_eclipse配置python环境详解