Гид по технологиям

Magic SysRq для остановки трэшинга в Linux

5 min read Linux Обновлено 06 Dec 2025
Magic SysRq для остановки трэшинга в Linux
Magic SysRq для остановки трэшинга в Linux

Пальцы над клавишей SysRq на клавиатуре ноутбука

О чём речь и почему появляется трэшинг

Трэшинг — это состояние, когда система постоянно подменяет содержимое оперативной памяти страницами на диск и обратно, из‑за сильной нехватки ОЗУ. Процессы замедляются, интерфейс «подвисает», и ничего не откликается. Чаще это случается на старых ноутбуках или при запуске тяжёлых веб‑приложений.

Прямое решение — добавить RAM или использовать своп‑файл/раздел. Но если сейчас это невозможно, Magic SysRq помогает безопасно привести систему в предсказуемое состояние: остановить процессы, синхронизировать данные и перезагрузить систему.

Важно: Magic SysRq — это набор возможностей ядра Linux. На некоторых ноутбуках комбинация требует удержания клавиши Fn или специальных модификаторов.

Когда использовать Magic SysRq

  • Интерфейс полностью заморожен, мышь не двигается, но индикаторы диска мигают.
  • Невозможно корректно завершить один проблемный процесс через SSH или tty.
  • Вы хотите избежать немедленного отключения питания (hard power off), чтобы снизить риск повреждения файлов.

Не используйте, если у вас есть доступ по SSH и можно безопасно завершить проблему дистанционно. Также не помогает при аппаратных отказах (память, диск, материнская плата).

Быстрая инструкция: последовательность клавиш

  1. Если нужно, переключитесь в виртуальную консоль: нажмите Ctrl + Alt + Fn (где Fn — F1…F6) — это даст вам доступ к tty, если графика полностью зависла.
  2. Удерживайте Ctrl + Alt (или Ctrl + Alt + Fn, если вы переключались в tty).
  3. Нажмите и удерживайте клавишу SysRq (если на клавиатуре нет ярлыка SysRq, используйте PrtSc/PrintScreen).
  4. Не отпуская SysRq, поочерёдно нажмите R, E, I, S, U, B (не спешите — паузы 1–2 секунды между буквами полезны).
  5. Отпустите все клавиши.

Пояснение последовательности:

  • R — переключает клавиатуру в «raw» режим (даёт контроль при Xorg/Wayland).
  • E — рассылает SIGTERM всем процессам, кроме init (предлагает им корректно завершиться).
  • I — рассылает SIGKILL всем процессам, кроме init (принудительное завершение).
  • S — запускает sync: сбрасывает буферы на диск, минимизируя потерю данных.
  • U — перемонтирует все файловые системы в режим «только для чтения», защищая их от дальнейших изменений.
  • B — немедленно перезагружает систему.

После завершения последовательности система обычно перестаёт трешить и перезагружается в предсказуемом состоянии.

Включение и проверка Magic SysRq

Параметр ядра контролирует доступность SysRq: /proc/sys/kernel/sysrq

  • Чтобы проверить текущую настройку, выполните:
cat /proc/sys/kernel/sysrq
  • Чтобы временно включить все возможности Magic SysRq (требуются права root):
echo 1 > /proc/sys/kernel/sysrq
  • Чтобы сделать изменение постоянным, добавьте строку в /etc/sysctl.conf:
kernel.sysrq = 1

Важно: системные администраторы иногда отключают SysRq или ограничивают набор функций по соображениям безопасности. Обсудите это в вашей организации, если доступ нужен часто.

Что делать, если последовательность не работает

  • Проверьте, действительно ли клавиша SysRq срабатывает на вашей клавиатуре (иногда её нужно активировать через Fn+PrtSc).
  • Убедитесь, что /proc/sys/kernel/sysrq не равен 0.
  • Если система полностью «упала» на аппаратном уровне (умирающая память, контроллеры), SysRq может не сработать.
  • Если у вас есть удалённый доступ по SSH, попытайтесь подключиться и завершить проблемные процессы вручную (ps, top, kill).

Альтернативы и дополнительные подходы

  • Онлайн‑мониторинг процессов: ps, top, htop — чтобы выявить потребителя памяти.
  • Настройка swappiness и добавление swap‑файла для снижения вероятности трэшинга.
  • Ограничение потребления памяти через cgroups или systemd‑службы.
  • Использование рантайм‑профайлеров и оптимизация проблемных приложений.

Пошаговый SOP (оперативный план) — для пользователя за 1–2 минуты

  1. Попробуйте переключиться в tty: Ctrl + Alt + F2. Если tty откроется, войдите и посмотрите top/ps.
  2. Если tty недоступна и система не отвечает: подготовьте руки к клавиатуре. Убедитесь, что вы знаете, где SysRq/PrtSc.
  3. Удерживайте Ctrl + Alt (и Fn, если требуется на ноутбуке).
  4. Удерживая эти клавиши, нажмите SysRq.
  5. Поочерёдно нажмите R→E→I→S→U→B, делая небольшие паузы.
  6. Дождитесь перезагрузки. Если система не перезагрузилась — принудительное отключение питания как крайняя мера.

Чек‑лист для разных ролей

  • Для пользователя:

    • Проверьте, работает ли клавиша PrtSc как SysRq.
    • Запомните последовательность R E I S U B.
    • Не дергайте питание, если можно дождаться перезагрузки.
  • Для системного администратора:

    • Настройте kernel.sysrq в sysctl для нужного уровня доступа.
    • Ограничьте критичные сервисы через cgroups.
    • Введите процедуру информирования пользователей о безопасном использовании SysRq.

Ментальные модели и когда это не поможет

Ментальная модель: трэшинг — это ревностный обмен страниц между RAM и swap; цель Magic SysRq — «быстро и аккуратно остановить систему», уменьшив риск потери данных. Если проблема — аппаратный отказ или повреждённая файловая система, последовательность R→E→I→S→U→B не устранит источник неисправности.

Мини‑факты (Fact box)

  • Где настраивается: /proc/sys/kernel/sysrq
  • Команда включения: echo 1 > /proc/sys/kernel/sysrq
  • Типичная последовательность: R E I S U B
  • Риски: некорректное выключение может всё равно повредить данные, поэтому S и U важны перед B.

Простая диаграмма принятия решения (Mermaid)

flowchart TD
  A[Система зависла?] -->|Да| B{Есть SSH/tty доступ?}
  B -->|Да| C[Подключиться и kill/анализ]
  B -->|Нет| D[Использовать Magic SysRq]
  D --> E{SysRq включён?}
  E -->|Да| F[Выполнить R E I S U B]
  E -->|Нет| G[Попробовать включить /proc/sys/kernel/sysrq или принудительная перезагрузка]
  C --> H[Решение найдено]
  F --> H
  G --> H

Критерии приёмки

  • Система после выполнения R→E→I→S→U→B корректно перезагружается или прекращает трэшинг.
  • Файловые системы корректно синхронизированы и перемонтированы в RO перед перезагрузкой.
  • Логи (после загрузки) показывают, что была инициирована последовательность SysRq.

Краткий словарь (1‑строчка)

  • SysRq: специальная функция ядра Linux для аварийного управления системой.
  • SIGTERM: сигнал для корректного завершения процесса.
  • SIGKILL: принудительное завершение процесса.
  • Thrashing: интенсивное обращение к swap из‑за нехватки RAM.

Заключение

Magic SysRq — удобный и проверенный инструмент для безопасного выхода из состояния трэшинга без использования «жёсткого» отключения питания. Он не заменяет профилактику (добавление RAM, swap, лимиты ресурсов), но может стать спасением в критический момент.

Важно: используйте его аккуратно и по инструкции. Обсудите включение и политику использования SysRq с вашими администраторами, чтобы избежать злоупотреблений.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Резервная копия Gmail на локальном диске
Руководство

Резервная копия Gmail на локальном диске

Отслеживание посылок Amazon через Echo
Умный дом

Отслеживание посылок Amazon через Echo

Как обойти заблокированные сайты: VPN, Tor и альтернативы
Безопасность

Как обойти заблокированные сайты: VPN, Tor и альтернативы

Удаление фона портрета в Luminar Neo
Фото

Удаление фона портрета в Luminar Neo

Chromebook: доступ к папкам, принтерам и VPN
Инструкции

Chromebook: доступ к папкам, принтерам и VPN

Доступ к общим папкам Windows с Android и iPhone
Сеть

Доступ к общим папкам Windows с Android и iPhone