PDA

Просмотр полной версии : Включаем Magic SysRq


farex
21.06.2009, 10:47
Использование SysRq в критических ситуациях

Материал взят от сюда
-->
http://muhas.ru/?p=71
<--
и от сюда
-->
http://mydebianblog.blogspot.com/2007/07/sysrq-printscreen.html
<--

Magic SysRq - это комбинация клавиш, напрямую перехватываемая ядром, и которая может быть использована для аварийного выключения. Так как Magic SysRq выполнена как часть драйвера клавиатуры, она гарантировано работает почти всегда - почти, если только ядро само по себе работоспособно.

Как включить?
1. выполнить echo "1" > /proc/sys/kernel/sysrq
или
2. Добавить в /etc/sysctl.conf:
kernel.sysrq = 1

Как пользоваться?
Сначала нужно убедиться, что она включена: в конфиге ядра CONFIG_MAGIC_SYSRQ должно иметь значение Y (по крайней мере в дефолтном ядре Дебиана это так).

Как проверить, включена ли данная опция?
grep -i magic /boot/config-2.6.28-13-generic (на моей системе, на вашей - "config-" + "вывод команды uname -r")
Или же:
grep -i magic /boot/config-$(uname -r)

Дальнейшее применение:
Нажимаем и держим ALT, нажимаем SysRq, нажимаем одну из "командных" клавиш (одновременно нажато 3 клавиши); в некоторых дистрибутивах работает вариант "нажимаем и держим ALT, нажимаем SysRq, отпускаем SysRq и нажимаем одну из "командных" клавиш".

Практическое применение:
При зависании системы с помощью Magic SysRq можно элегантно перезагрузить её с помощью Alt + SysRq R > E > I > S > U > B.

Что делает каждая комбинация:
R -Переключить клавиатуру в режим XLATE (забирает контроль над мышью и клавиатурой у Х-сервера, что полезно, если Х-сервер завис: так можно перейти в консоль, убить Х-сервер или проверить логи)
E -Отправить сигнал SIGTERM всем процессам, кроме init. Ожидается что приложения ответят на этот сигнал, приведут всё в порядок и корректно завершатся.
I - Отправить сигнал SIGKILL всем процессам, кроме init. Это принудительно завершит все процессы.
S - Синхронизировать все файловые системы (аналог sync)
U -Перемонтировать все файловые системы в режиме "только для чтения"
B - Незамедлительно перезагрузить систему

Дополнительные комбинации:
0-8 Позволяет менять уровень подробности вывода в логи от 0 (только критические сообщения) до 8 (самый подробный режим)
C Выполняет директиву kexec для перезагрузки, чтобы получить сведения об ошибках
D Показывает все блокировки, которые держат устройства или файлы;
O Отключить питание
M Вывести статистику использования памяти в консоль
N Используется для того, чтобы сделать задачи реального времени с изменяемым приоритетом
T Вывести список задач в текущую консоль
W Выдаст список всех непрерываемых (заблокированных, ждущих окончание ввода-вывода) задач
F Вызвать oom_kill (out-of-memory kill) для прерывания приложений, забравших слишком много памяти (может занять продолжительное время)
H Показать краткую информацию по использованию всех клавиш SysRq
-------
-------
PS. Может это не каму и не надо., или же это не совсем по тематике., но мну иногда помагало.... и помагает и по сей день......