GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo usar la herramienta Magic SysRq en CentOS / RHEL

¿Qué es la utilidad SysRq?

En caso de que su kernel se congele o cuelgue, puede usar la herramienta "mágica" SysRq. La tecla 'mágica' SysRq permite el acceso instantáneo a varios comandos esenciales del kernel, incluidos Sync, Unmount, kill processs, showMem, showPc y reBoot. Según la documentación del kernel de Linux:

Es una combinación de teclas "mágicas" que puede presionar y el kernel responderá independientemente de lo que esté haciendo, incluso si la consola no responde.

Cómo habilitar SysRq

La tecla SysRq se puede activar configurando el 'Magic SysRq'. Tienes que asegurarte de que el kernel.sysrq en sysctl.conf está configurado correctamente:

kernel.sysrq = 1 (SysRq turned ON)
kernel.sysrq = 0 (SysRq turned OFF)
Nota :En CentOS/RHEL 7, debe realizar los cambios en "/usr/lib/sysctl.d/50-default.conf"

La configuración anterior garantiza que SysRq esté habilitado de forma predeterminada después del arranque del sistema (de forma predeterminada, está deshabilitado en CentOS/RHEL). Para habilitarlo, ejecútelo de inmediato en la sesión actual, use el siguiente comando:

# echo 1 > /proc/sys/kernel/sysrq

Y para desactivarlo de nuevo:

# echo 0 > /proc/sys/kernel/sysrq
NOTA :Dado que habilitar SysRq le brinda a alguien con acceso físico a la consola capacidades adicionales, se recomienda deshabilitarlo cuando no esté solucionando un problema o para asegurarse de que el acceso físico a la consola esté debidamente protegido.

Cómo desencadenar un evento SysRq

Hay varias formas de activar un evento SysRq. En la mayoría de las arquitecturas, los eventos SysRq se pueden activar desde la consola con la siguiente combinación de teclas:

Alt+PrintScreen+[CommandKey]

PrintScreen es la clave utilizada como clave SysRq en la mayoría de los sistemas Linux.

Para acceder a un sistema que no responde, presione Alt+SysRq y H para obtener una lista de opciones. Las diferentes versiones del kernel pueden tener diferentes opciones. Para obtener las opciones compatibles con su kernel actual, puede ejecutar el siguiente comando como root:

# echo h > /proc/sysrq-trigger

y verifique la salida de dmesg. A continuación se muestra un ejemplo en el sistema RHEL 7:

# dmesg
[ 4338.124035] 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) force-fb(V) show-blocked-tasks(w) dump-ftrace-buffer(z)

Tipos de eventos SysRq

Hay varios eventos SysRq que se pueden activar una vez que se habilita la función SysRq. Estos varían un poco entre las versiones del kernel, pero hay algunos que se usan comúnmente:

Clave Función
m volcar información sobre la asignación de memoria
t volcar información de estado del hilo
p volcar registros y banderas actuales de la CPU
c bloquear intencionalmente el sistema (pánico del núcleo). Útil para capturar un vmcore a través de kdump.
s sincronizar inmediatamente todos los sistemas de archivos montados
u volver a montar inmediatamente todos los sistemas de archivos de solo lectura
b inmediatamente reinicia la máquina
o apague inmediatamente la máquina (si está configurada y es compatible)
f iniciar el asesino sin memoria (OOM)
w descarga tareas que están en estado ininterrumpible (bloqueado)

Cómo desencadenar un evento SysRq desde el shell raíz

Si tiene un shell raíz en la máquina (y el sistema responde lo suficiente como para hacerlo), también puede escribir el carácter de la tecla de comando en /proc/sysrq-trigger expediente. Esto es útil para activar esta información cuando no está en la consola del sistema o para activarla desde scripts.

# echo 'm' > /proc/sysrq-trigger

Este método tiene la ventaja adicional de funcionar incluso cuando kernel.sysrq se establece en 0.

CentOS / RHEL 6:Cómo configurar kdump
CentOS / RHEL 7:Cómo configurar kdump


Cent OS
  1. Cómo usar sal en Centos 8

  2. ¿Cómo utilizar la herramienta de actualización de RedHat para actualizar CentOS de 6.x a CentOS 7?

  3. CentOS/RHEL 6,7:Cómo usar el historial de yum para revertir una actualización de yum

  4. Cómo cambiar los límites de semáforos del kernel en CentOS/RHEL

  5. Cómo usar iptables en lugar de firewalld en CentOS/RHEL 7 y 8

Cómo instalar Check_MK (herramienta de monitoreo) en CentOS 7 / RHEL 7

Cómo usar tmpfs en RHEL/CentOS 7

Cómo instalar Cacti en CentOS 7 / RHEL 7:una herramienta de monitoreo de red

Cómo iniciar en modo de usuario único en CentOS 8 / RHEL 8

Cómo instalar y usar Firewalld en CentOS / RHEL

CentOS / RHEL 7:Cómo configurar kdump usando GUI