Когда ваша система Ubuntu внезапно зависает, это может сильно раздражать, особенно если вы работаете над важным проектом.
Хотя Ubuntu в целом надёжна и быстра, она всё же может периодически зависать, как и любая другая операционная система. Это может происходить по разным причинам, таким как проблемы с оборудованием, чрезмерное использование ресурсов, проблемы с драйверами или ошибки в программном обеспечении.
В этом руководстве вы узнаете, как выяснить, почему Ubuntu зависает, и как это исправить. Мы начнём с простых шагов для решения небольших проблем, а также рассмотрим некоторые более сложные решения, если потребуется.
Независимо от того, зависло ли только одно приложение или перестала отвечать на запросы вся система, это руководство поможет вам снова всё запустить без принудительного выключения.
1. Определение типа замораживания
Прежде чем приступать к устранению неполадок, важно определить масштаб проблемы, поскольку зависания Ubuntu обычно можно разделить на три типа:
- Зависание приложения — только одно приложение перестаёт отвечать на запросы, в то время как остальная часть системы работает нормально.
- Частичное зависание системы — графический интерфейс перестаёт отвечать на запросы, но система по-прежнему реагирует на команды с клавиатуры или альтернативные сеансы терминала.
- Полная блокировка системы — система перестаёт реагировать на ввод с помощью мыши и клавиатуры. Без жёсткой перезагрузки взаимодействие невозможно.
2. Реагирование на блокировку на уровне приложения
Если зависло только одно приложение, его обычно можно закрыть, не затрагивая остальную систему.
Использование системного монитора
Нажмите Ctrl + Alt + Del
для вызова диалогового окна выхода из системы. Если это не помогло, попробуйте нажать Ctrl + Alt + T
для открытия окна терминала.
Если откроется терминал, введите следующую команду, чтобы запустить Системный монитор:
gnome-system-monitor
В Системном мониторе найдите зависшее приложение, которое может отображаться со статусом «Not Responding». Щелкните правой кнопкой мыши по приложению и выберите «Kill» или «End Process».
Использование команды xkill
В качестве альтернативы вы можете использовать инструмент командной строки xkill:
xkill
Ваш курсор мыши изменится, щелкните окно, которое вы хотите закрыть.
Если графическая среда вообще не отвечает, перейдите к следующему разделу.
3. Восстановление контроля Во время частичной остановки системы
Если весь графический интерфейс перестаёт отвечать на запросы, но вы подозреваете, что основная система всё ещё работает, попробуйте выполнить следующие действия, чтобы восстановить контроль.
Переключиться на виртуальный терминал (TTY)
Ubuntu предоставляет несколько виртуальных терминалов, которые работают независимо от графической среды рабочего стола. Эти терминалы могут быть полезны для восстановления контроля и выполнения административных задач, когда графический интерфейс зависает.
- Нажмите
Ctrl + Alt + F3
для переключения на TTY3 или при необходимости попробуйтеF4
черезF6
. - Войдите в систему, используя свое обычное имя пользователя и пароль.
- После входа в систему вы можете просмотреть запущенные процессы с помощью команд top или htop.
- Определите проблемное приложение или процесс и завершите его с помощью команды kill:
kill PID
Чтобы вернуться на графический рабочий стол, нажмите Ctrl + Alt + F2
или Ctrl + Alt + F1
(в зависимости от конфигурации вашей системы).
4. Использование метода REISUB для безопасной перезагрузки
Если система частично реагирует на команды, но вы не можете восстановить полный контроль, Ubuntu предлагает встроенный способ безопасной перезагрузки с помощью волшебной клавиши SysRq.
Этот метод полезен для восстановления после зависания системы без риска повреждения файловой системы.
Последовательность ПОВТОРНОГО использования
Для этого метода требуется клавиша SysRq (обычно используется совместно с клавишей Print Screen).
- Удерживай нажатой
Alt + SysRq
. - Удерживая их, последовательно нажмите следующие клавиши (между нажатием каждой клавиши делайте паузу в одну-две секунды):
R E I S U B
Каждая буква выполняет свое системное действие:
- R: переключите клавиатуру из режима raw в режим XLATE.
- E: Отправить SIGTERM всем процессам.
- I: Отправить SIGKILL всем процессам.
- S: синхронизируйте все смонтированные файловые системы.
- U: Перемонтировать файловые системы как доступные только для чтения.
- B: Перезагрузите систему.
Эта последовательность обеспечивает корректное завершение работы и перезагрузку системы без повреждения открытых файлов или файловой системы.
Важные примечания:
- Для некоторых ноутбуков может потребоваться удерживать
Fn
клавишу вместе сAlt + SysRq
. - Этот метод может быть отключен по умолчанию в некоторых конфигурациях Ubuntu, но вы можете включить его, убедившись, что
/proc/sys/kernel/sysrq
содержит значение1
.
Чтобы проверить или установить это вручную:
echo 1 | sudo tee /proc/sys/kernel/sysrq
5. Выполнение жесткой перезагрузки (последнее средство)
Если все вышеперечисленные методы не помогли и система по-прежнему не отвечает, может потребоваться жёсткая перезагрузка.
- Чтобы принудительно завершить работу: нажмите и удерживайте физическую кнопку питания в течение 5–10 секунд, пока компьютер не выключится. Подождите несколько секунд, затем снова нажмите кнопку питания, чтобы перезапустить компьютер.
- Предупреждение: принудительную перезагрузку следует использовать только в том случае, если все остальные методы не помогли. Она может привести к потере данных или повреждению файловой системы, особенно если во время сбоя файлы записывались.
6. Анализ системных журналов После зависания
Если Ubuntu постоянно зависает, важно выяснить причину, просмотрев системные журналы, которые могут помочь диагностировать основные проблемы.
Используйте команду journalctl для проверки системных журналов.
journalctl -b -1
Для поиска ошибок:
journalctl -p err -b
Для фильтрации по времени:
journalctl --since "2025-04-08 10:00" --until "2025-04-08 11:00"
Эти журналы могут указывать на проблемы с оборудованием, сбои драйверов или ошибки ядра, которые могут приводить к зависанию системы.
7. Предотвращение зависаний в будущем
После восстановления работоспособности системы можно принять профилактические меры, чтобы снизить вероятность зависания в будущем.
a. Постоянно обновляйте Ubuntu
Обновление системы и приложений гарантирует, что вы будете получать последние исправления ошибок и улучшения производительности.
sudo apt update && sudo apt upgrade -y
b. Мониторинг системных ресурсов
Зависания могут возникать, когда в вашей системе заканчивается память или ресурсы процессора, поэтому используйте такие инструменты, как htop или gnome-system-monitor, чтобы отслеживать их использование.
Если оперативная память часто заполняется, подумайте о том, чтобы увеличить объём памяти или сократить количество одновременно запущенных приложений.
c. Проверьте Место на диске
Нехватка места на диске может привести к серьезной нестабильности системы.
df -h
Очистите ненужные файлы с помощью:
sudo apt autoremove && sudo apt autoclean
d. Обновите графические драйверы
Устаревшие или несовместимые графические драйверы являются распространенной причиной зависания графики.
Для проверки наличия проприетарных драйверов:
- Открыть Программное обеспечение и обновления
- Перейдите на вкладку Дополнительные драйверы
- Выберите рекомендуемый драйвер и примените изменения
e. Отключите ненужные запускаемые приложения
Слишком много приложений, запущенных при запуске, могут перегрузить вашу систему.
- Откройте приложения для запуска
- Отключайте или удаляйте несущественные службы
Заключение
Ubuntu — мощная и, как правило, очень надёжная операционная система, но, как и любая другая компьютерная система, иногда она может зависать. Одна из таких проблем — зависание. Хотя это может раздражать, большинство зависаний можно устранить, если знать, что делать. Если зависло только одно приложение или не отвечает вся система, в этом руководстве вы найдёте простые шаги, которые помогут вам справиться с проблемой и снова всё наладить.
Для начала определите, что это за зависание. Затем используйте подходящий метод: закройте зависшее приложение, переключитесь в терминал, используйте трюк с перезапуском REISUB или выполните безопасную перезагрузку. Как только всё придёт в норму, потратьте несколько минут на проверку системных журналов и убедитесь, что всё в порядке, чтобы это не повторилось.
Если вы выполните эти действия, то сможете быстро устранять зависания и обеспечить бесперебойную работу системы Ubuntu.