使用 SysRq 查看系统信息
使用 SysRq 查看系统信息
Qidi 2017.08.31 (Markdown & Haroopad)
前言:因为看到有同事使用了 SysRq 的技巧进行 debug,虽然我目前还没有使用过,但为了便于以后使用也为了备忘,所以在这里简要记录一下。更详细的说明可以阅读文末所列参考文章。
1、SysRq 是什么
在某些键盘上我们可以看到 SysRq
键,通过按下这个键和其它字母的组合,我们可以在系统挂起时仍然响应某些命令,从而确保系统能正确保存好数据并关机或重启。在 2.5.64 版本后的 Linux 系统中,在系统宕机时我们还可以向 /proc/sysrq-trigger
节点写入一些命令来使计算机实现前述操作。
2、查看 SysRq 帮助信息
向 /proc/sysrq-trigger
节点写入任何未定义的内容都会让 SysRq 打印出帮助信息。因为预定义的命令都是单字符或数字,所以我们可以执行如下命令来查看可以使用的命令说明:
# echo help > /proc/sysrq-trigger
我的平台所使用的 Linux 内核版本为 4.9,在其上执行上述命令后可以看到以下打印:
[ 197.237795@2] sysrq: 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)
括号中的字母或数字就是我们可以写入节点的内容,也是对应各命令的简称。
3、常用命令
有一些命令是我们常用的,这里单独罗列一下。
3.1、查看内存使用情况
实际工作中排查问题时我们可能会经常查看设备的内存使用情况。可以使用下面命令打印设备上的内存使用信息:
# echo m > /proc
在我的平台上该命令的执行结果如下:
[ 615.461924] sysrq: SysRq : Show Memory
[ 615.462218] Mem-Info:
[ 615.462369] active_anon:90892 inactive_anon:3708 isolated_anon:0\x0a active_file:153787 inactive_file:143068 isolated_file:0\x0a unevictable:934 dirty:8 writeback:0 unstable:0\x0a slab_reclaimable:10940 slab_unreclaimable:12460\x0a mapped:127077 shmem:2319 pagetables:6891 bounce:0\x0a driver_cma:22640 free:26472 free_pcp:660 free_cma:7205
[ 615.462514] Node 0 active_anon:363568kB inactive_anon:14832kB active_file:615148kB inactive_file:572272kB unevictable:3736kB isolated(anon):0kB isolated(file):0kB mapped:508308kB dirty:32kB writeback:0kB shmem:9276kB writeback_tmp:0kB unstable:0kB pages_scanned:0 all_unreclaimable? no
[ 615.462695] DMA free:105888kB min:4980kB low:6528kB high:8076kB active_anon:363568kB inactive_anon:14832kB active_file:615148kB inactive_file:572272kB unevictable:3736kB writepending:32kB present:2096128kB managed:2040096kB mlocked:256kB slab_reclaimable:43760kB slab_unreclaimable:49840kB kernel_stack:19616kB pagetables:27564kB bounce:0kB free_pcp:2640kB local_pcp:724kB free_unmovable:11308kB free_movable:64072kB free_reclaimable:1072kB free_highatomic:616kB free_isolate:0kB free_cma:28820kB
[ 615.462740] lowmem_reserve[]: 0 0 0
[ 615.462959] DMA: 5070*4kB (UMEHC) 2373*8kB (UMEHC) 1344*16kB (UMEHC) 520*32kB (UMEHC) 199*64kB (UMEHC) 51*128kB (UMEHC) 12*256kB (UMHC) 4*512kB (UM) 0*1024kB 0*2048kB 1*4096kB (U) = 105888kB
[ 615.464658] 300033 total pagecache pages
[ 615.464721] 0 pages in swap cache
[ 615.464781] Swap cache stats: add 0, delete 0, find 0/0
[ 615.464832] Free swap = 511996kB
[ 615.464881] Total swap = 511996kB
[ 615.464933] 524032 pages RAM
[ 615.464983] 0 pages HighMem/MovableOnly
[ 615.465033] 14008 pages reserved
[ 615.465083] 120832 pages cma reserved
3.2、组合命令
系统挂起时,一个可以保证数据安全的方式是使用 SysRq 命令序列 R-E-I-S-U-B
来重启计算机。各命令之间的等待时间为 R – 1 秒 – E – 30 秒 – I – 10 秒 – S – 5 秒 – U – 5 秒 – B
。
4、参考资料
[1] 《利用 SysRq 键排除和诊断系统故障》
使用 SysRq 查看系统信息相关推荐
- linux查看软件包信息,Linux查看系统信息的一些命令及查看已安装软件包的命令...
Linux查看系统信息的一些命令及查看已安装软件包的命令 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat ...
- 命令获取计算机信息,教你怎么在windows上用命令查看系统信息
很多时候,我们想写一个批处理脚本,让它显示我们的操作系统信息,却又不知道怎么做.下面是学习啦小编跟大家分享的是教你怎么在windows上用命令查看系统信息,欢迎大家来阅读学习. 教你怎么在window ...
- windows 10 systeminfo命令查看系统信息
一般情况下我们可以通过windows10的任务管理器查看系统信息,或者使用命令systeminfo: c:\Code \git>systeminfo Host Name:oS Name: os ...
- linux检查系统硬件信息命令,Linux查看系统信息(硬件信息, 系统设置信息等) 命令 | Soo Smart!...
Linux 查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习一下这些linux系统信息命令还是非常有 ...
- linux操作系统中查看网络信息的命令,Linux查看系统信息命令盘点
Linux查看系统信息命令盘点 在Linux系统上有很多操作都是用命令完成的,下面跟yjbys小编一起来看看最新的系统命令吧,希望对大家有所帮助! 1.查看系统内核 uname -a uname -r ...
- sql server内置存储过程、查看系统信息
1.检索关键字:sql server内置存储过程,sql server查看系统信息 2.查看磁盘空间:EXEC master.dbo.xp_fixeddrives , --查看各个数据库所在磁盘情况S ...
- CentOS查看系统信息命令和方法
收集整理的一些linux查看系统信息的命令和方法: 一.linux查看服务器系统信息的方法: 1.查看主机名/内核版本/CPU构架: # uname -n -r -p -o localhost.loc ...
- linux 查看系统信息命令
linux 查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习一下这些linux系统信息命令还是非常有 ...
- 小技巧:systeminfo查看系统信息
systeminfo是Windows中查看系统信息的小工具,对了解系统硬件与软件情况非常有用.可以清楚的了解到当前系统的安装日期,与当前运行时间.最近在玩游戏,装的是XP系统,Windows 7在等R ...
最新文章
- 如何解决IE地址栏前小图标不显示问题
- css阴影属性_第三场阴影场与属性访问器接口
- 简述计算机图形的图形应用主要有哪些,5计算机图形学考试简答题复习.doc
- 24 OB22无法修改公司代码的附加本位币从EUR到CNY
- Fedora 17 安装视频
- matlab mxarray赋值,C++中数组与MATLAB mxArray相互赋值
- virtualbox+vagrant快速创建虚拟机
- python爬虫项目描述怎么写_爬虫项目咋写,爬取什么样的数据可以作为项目写在简历上?...
- 《你的灯亮着吗》读书笔记一
- Docker在centos下安装以及常见错误解决
- aspupload中文文件名乱码解决
- linux centos 光盘修复,CentOS 系统修复
- 你自己的毛茸茸的大主教
- 积性函数是什么 超级明白的敷衍介绍
- python 制作工资条
- [SSL_CHX][2021-8-18]量身高
- Premature end of Content-Length delimited message body 报错原因
- 高德地图教程_poi搜索以及显示
- CRC-16/MODBUS x16+x15+x2+1校验计算 C++
- [易飞]如何实现同单据两种不同凭证设计方式?(只打印单头单尾金额,多页最后一页面显示金额)