首页 > 系统相关 >linux-sysrq

linux-sysrq

时间:2024-03-22 16:02:50浏览次数:35  
标签:sysrq 转储 内核 linux 控制台 proc SysRq

 

sysrq

        SysRq(system request) 是 Linux 操作系统内核理解的一系列键,可以触发一组预定义的操作。 当无法通过传统管理 (执行虚拟机故障排除或恢复时,通常使用这些命令,例如,VM 未) 响应。 

        Sysrq被称为”魔术组合键”, 是内建于Linux内核的调试工具,只要内核没有完全锁住,不管内核在做什么事情,内核都会响应这一系列组合键,使用这些组合键可以搜集包括系统内存使用、CPU任务处理、进程运行状态等系统运行信息。

        SysRq 键在确认内核运行、调查内核死机原因等各种情况下都非常有效。

 

 

启用sysrq

  /proc/sys/kernel/sysrq文件的值控制着SysRq键(键盘组合键)的一些功能。

    echo 1 >/proc/sys/kernel/sysrq      ##设置为1时,使能SysRq键的所有功能。

 

  若要使 SysReq 配置持久化,可以执行以下操作来启用所有 SysRq 命令

    将此行添加到 /etc/sysctl.conf

      kernel.sysrq = 1

 

 

SysRq的使用

  SysRq的使用有两种方式:

    第一种是键盘组合键:Alt+SysRq + command key 。(受到/proc/sys/kernel/sysrq值的影响)

      ctrl + alt + prtsc+[command key ]

        比如: ctr + alt + prtsc + f      // 调用oom_kill杀死内存热进程

 

    第二种是修改/proc/sysrq-trigger文件的值。(不受/proc/sys/kernel/sysrq值的影响)

      echo <command key> > /proc/sysrq-trigger

  

[command key]命令介绍(部分)

    键名        功能说明
    b            在没有同步或卸载硬盘的情况下立即启动。

    c            为了获取崩溃转储执行kexe重启动。

    d            显示被持的所有锁。

    e            发送信号SIGTERM给所有进程,除了init外。

    f            将调用oom_kill杀死内存热进程。

    g            在平台ppc和sh上被kgdb使用。

    h            显示帮助信息。

    i            发送信号SIGKILL给所有的进程,除了init外。

    k            安全访问密钥(Secure Access Key,SAK)杀死在当前虚拟终端上的所有程序。

    m            转储当前的内存信息到控制台。

    n            用于设置实时任务为可调整nice的。

    o            将关闭系统(如果配置为支持)。

    p            打印当前寄存器和标识到控制台。

    q            将转储所有正运行定时器的列表。

    r            关闭键盘Raw模式并设置为XLATE模式。

    s            尝试同步所有挂接的文件系统。

    t            将转储当前的任务列表和它们的信息到控制台。

    u            尝试以仅读的方式重挂接所有已挂接的文件系统。

    v            转储Voyager SMP处理器信息到控制台。

    w            转储的所有非可中断(已阻塞)状态的任务。

    x            在平台ppc/powerpc上被xmon(X监视器)接口使用。

    0~9        设备控制台日志级别,控制将打印到控制台的内核信息。例如:0仅打印紧急信息,如:PANIC和OOPS信息。

 

https://www.cnblogs.com/MrLiuZF/p/15229868.html

https://blog.csdn.net/hhd1988/article/details/130006269

 

标签:sysrq,转储,内核,linux,控制台,proc,SysRq
From: https://www.cnblogs.com/kernelx/p/18089682

相关文章

  • Linux内核启动流程简介
    参考资料:https://www.bilibili.com/video/BV12E411h71h?p=38&vd_source=432ba293ecfc949a4174ab91ccc526d6 Linux内核链接脚本arch/arm/kernel/vmlinux.lds arch/arm/kernel/vmlinux.lds中OUTPUT_ARCH(arm)ENTRY(stext)//Linux内核入口,入口函数stextjiffies=......
  • linux查看指定进程打开的文件数
    1.背景正式环境多个用户登录频繁报网络错误2.排查及解决##查看error.log发现原因是Toomanyopenfiles##ulimit-a命令可以查看单个进程最大打开文件的数量限制;默认1024##统计指定进程打开的文件数,发现都在1024以内lsof-ppid|wc-l##尝试修改nginx.confwork......
  • linux 静态ip
    在Linux系统中设置固定IP地址,通常涉及以下步骤:确认网络接口。使用命令`ipaddr`和`ifconfig`来查看当前的网络接口和IP地址。例如,在`/etc/sysconfig/network-scripts/`目录下,通常会有一个名为`ifcfg-ens33`的文件,其中`ens33`是网络接口的名称。编辑网络配......
  • Linux-Java安装了多个版本
    近日在Deepin上发现安装了多个版本,但是我们仅仅指定的版本,这时就需要手工切换,切换方法如下:如果你发现有两个不同版本的OpenJDK,可能是因为系统默认安装了一个版本,而你可能也安装了另一个版本。要确定哪个版本正在被使用,你可以在终端中运行以下命令:java-version这将显示当前......
  • RK356x Linux解包update.img、打包update.img和win环境下烧写固件
    1.解包update.imgstep1将afptool、rkImageMaker、unpack.sh拷贝在~/work/test下topeet@ubuntu:~/work/test$lsafptooloutputrkImageMakerunpack.shupdate.imgstep2执行./unpack.sh,后会生成output文件夹topeet@ubuntu:~/work/test$./unpack.sh......
  • Linux mke2fs命令教程:创建和管理你的ext2/ext3/ext4文件系统(附案例详解和注意事项)
    Linuxmke2fs命令介绍mke2fs(makeext2filesystem)命令是用来创建ext2/ext3/ext4文件系统的。它通常在磁盘分区上创建文件系统,设备是对应设备的特殊文件(例如/dev/hdXX)。如果省略了块数,mke2fs会自动计算文件系统的大小。Linuxmke2fs命令适用的Linux版本mke2fs命令在所有......
  • Linux hdparm命令教程:优化硬盘性能和读写速度(附实例详解和注意事项)
    Linuxhdparm命令介绍hdparm是一个用于控制和配置硬盘驱动器的命令行工具。它允许您查看和修改硬盘的参数,包括缓存设置、高级电源管理、硬盘性能等。通过hdparm,您可以优化硬盘的读写速度和性能。Linuxhdparm命令适用的Linux版本hdparm在大多数Linux发行版中都可用,......
  • Linux-tar、tar.gz、tgz文件批量解压方法
    由于linux的tar命令不支持批量解压,所以很多网友编写了好多支持批量解压的shell命令,收集了一下,供大家分享:第一:使用for遍历压缩文件,使用tar命令逐个解压fortarin*.tar.gz; dotarxvf$tar;donefortarin*.tar.bz2;dotarxvf$tar;done或者for i in $(ls *.tar.g......
  • 在Linux中,有一堆日志文件,如何删除7天前的日志文件?
    在Linux中,如果你想要删除7天前的日志文件,你可以使用find命令配合-mtime选项来实现。下面是一个详细的步骤说明:1.确定日志文件所在的目录首先,你需要知道这些日志文件存放在哪个目录下。例如,假设你的日志文件都存放在/var/log/目录下。2.使用find命令查找并删除文件你可以使用......
  • 如何在 VirtualBox 上安装 Arch Linux
    Arch与VirtualBox介绍Arch:ArchLinux是一个独立开发的x86-64架构通用GNU/Linux发行版,它致力于通过滚动更新来提供大多数软件的最新稳定版本。默认安装是一个最小的基本系统,由用户自行添加需要的软件。ArchLinux使用pacman作为包管理器。virtualBox:VirtualBox是一款开源虚拟......