Операционная система Linux намного стабильнее Windows. Но и здесь тоже иногда случаются зависания. Зависнуть может как отдельное приложение, полностью графическая оболочка или вся система. Важно знать, как правильно действовать в таких случаях, когда зависает ubuntu 16.04, чтобы не повредить данные и файловую систему, чтобы выйти из таких ситуаций с минимальными потерями.
В этой инструкции мы рассмотрим возможные причины зависания Ubuntu, что со всем этим делать, а также как попытаться спасти не сохраненные данные. Это, наверное, самый важный момент - выйти из ситуации без потери данных.
Содержание статьи
- Зависла программа Ubuntu
- Зависла графическая оболочка в Ubuntu
- Не хватает памяти
- Ubuntu зависла полностью
- Не хватает энергии
- Выводы
Зависла программа Ubuntu
Сама система, ядро или графическая оболочка зависают очень редко. Они уже множество раз протестированы, перепроверены и достаточно стабильны. А вот сторонние программы могут зависать довольно-таки часто, даже ни с того ни с сего.
Эти зависания не опасны для системы и очень просто решаются. В Ubuntu есть несколько графических утилит для завершения зависших приложений. Их мы рассмотрим чуть ниже. Но очень жаль несохраненных данных, которые остались, когда зависла программа Ubuntu. Если вы пользуетесь крупными редакторами, такими как Libreoffice или WPS office, то, скорее всего, редактируемый текст автоматически сохранился. Но в браузере и простых редакторах ситуация не такая безоблачная. Но даже те данные можно попытаться спасти, хотя работает этот способ не всегда.
Предположим, что завис Gedit. Сначала откройте терминал нажатием сочетания клавиш Ctrl+Alt+T. Теперь попробуем узнать PID процесса Gedit с помощью ps:
ps aux | grep gedit
Уже на этом этапе можно завершить программу. Но я вам покажу, как спасти редактируемый текст. Мы получим дамп памяти процесса и извлечем оттуда редактируемый текст. Для этого подключитесь к процессу Gedit с помощью отладчика gdb:
gdb -q -p 1493
1493 - это PID зависшей программы, который мы узнали в предыдущей команде.
Дальше сохраним дамп памяти, выполнив в консоли Gdb:
Вот и все, отключаемся от процесса
Для выхода с отладчика нажмите q. Теперь у нас есть все данные сохраненные в памяти нашего приложения, и мы можем легко извлечь нужную информацию:
strings core.1493 | grep 'my text'
С английским текстом работает на ура.
Самый простой способ закрыть зависшее приложение в Ubuntu - это Xkill. Нажмите Alt+F2 и наберите Xkill и нажмите Enter:
Теперь курсор превратился в крестик и достаточно кликнуть на любом окне, чтобы его закрыть.
Кроме того, в Ubuntu есть аналог диспетчера задач Windows - системный монитор. Чтобы его открыть наберите Системный или System в поиске Dash. Здесь отображаются все запущенные приложения, и любое из них можно завершить через контекстное меню, если зависла программа в Ubuntu, вы можете ее закрыть:
Также закрыть зависшее приложение ubuntu можно из терминала, например, с помощью команды kill:
kill 1493
1493 - это PID. Также можно не использовать PID а сразу завершить программу по имени:
killall gedit
Или:
pkill gedit
Зависла графическая оболочка в Ubuntu
С зависанием приложений разобрались. Это было не очень страшно. Но что делать, если графическая оболочка Ubuntu зависла намертво, и вы не можете ни запустить системный монитор, ни XKill? Это может случиться по разным причинам, например, из-за неправильных драйверов или ошибке в системных программах. Но Linux тем отличается от Windows, что здесь кроме графической оболочки есть еще и режим терминала. Графическая оболочка зависла, но система все еще работает. Поэтому мы можем все исправить.
Сначала можно просто попытаться перезагрузить X сервер. Для этого используется специальная комбинация клавиш - Ctrl+Alt+Backspace.
Далее, если не помогло, переключаемся в один из терминалов. Всего в Linux по умолчанию создается 12 терминалов входа. И доступны они по сочетанию клавиш Ctrl+Alt+Fцифра.
Графический сервер, как правило, размещается по Ctrl+Alt+F7. Переключаемся в первый терминал Ctrl+Alt+F1, вводим там логин и пароль, затем перезагружаем графический сервер командой:
sudo service lightdm restart
Если в приложениях остались не сохраненные данные, их можно попытаться извлечь описанным выше способом. Но поскольку тут уже зависла Ubuntu, и работать нужно в терминале, все сделать будет немного сложнее хотя бы потому, что вы не сможете копировать команды.
Не хватает памяти
Если все сделать правильно - такой тип зависания даже менее опасный, чем предыдущий. Конечно, лучше таких моментов не допускать и настроить раздел подкачки или сжатие оперативной памяти с помощью zram, но если оно уже случилось и застало вас врасплох, можно попытаться что-то сделать.
Если вы еще можете переключиться в режим терминала, переключайтесь (Ctrl+Alt+F1), вводите логин и пароль. Причем будьте готовы к тому, что система будет работать очень медленно.
Отсортировать процессы по потреблению памяти можно командой:
ps aux --sort=%mem
Дальше остается завершить виновника одной из вышеописанных команд, например, pkill:
pkill virtualbox
Посмотреть количество свободной памяти можно командой:
free -h
В современные ядра встроен механизм мониторинга памяти, таким образом, если памяти недостаточно, ядро смотрит какая программа потребляет больше всего и завершает ее, только в случае, если запущенно большое количество мелких программ этот процесс может занять много времени.
Если вы не хотите ждать и нет возможности перейти в режим терминала, можно попросить ядро завершить все процессы в текущем сеансе терминала сочинением клавиш Alt+PrintScreen+K. Завершит все запущенные вами программы в текущей терминальной сессии, в том числе графическую оболочку и ту программу, что использует много оперативной памяти.
Ubuntu зависла полностью
Хорошо, а что же делать, если Ubuntu зависла намертво, полностью? Если система уже ни на что не реагирует, но ядро, скорее всего, работает то можно попытаться выполнить безопасную перезагрузку. Ядро поддерживает несколько сочетаний клавиш, которыми можно ему напрямую отдавать команды.
Нажмите и удерживайте клавиши Alt+PrintScreen, и последовательно с интервалом 2-3 секунды нажимайте:
R E I S U B
- R - вернуть ядру управление над клавиатурой
- E - отправить сигнал SigTerm всем процессам
- I - отправить сигнал SigKill всем процессам
- U - Перемонтировать все файловые системы в режим только для чтения
- S - Сохранить все буфера файловых систем на жесткий диск
- B - Перезагрузить.
По сути, все эти действия происходят и при обычной перезагрузке. Но здесь мы выполняем их вручную.
Если же ubuntu зависает намертво и даже не работает последний метод, остается нажать кнопку Reset или на 6 секунд зажать кнопку выключения.
Не хватает энергии
Уже не первый раз сталкиваюсь с проблемой, что компьютеру не хватает энергии. Во время работы мышь и клавиатура неожиданно перестают работать. Складывается впечатление, что компьютер полностью завис, однако это не так. В данном случае, материнской плате не хватает тока, чтобы дать полноценное питание для мыши и клавиатуры. Убедится что у вас именно эта проблема можно отключив клавиатуру от компьютера, а мышь переставив в другой разъем. Если заработало - проблема здесь. Решить можно заменив мышь и клавиатуру на PS/2 или на беспроводный вариант. Также можно попытаться заменить блок питания на более мощный.
Выводы
Теперь мы рассмотрели все что нужно, чтобы привести свою систему в чувство, и вы знаете что делать если зависла Ubuntu и как закрыть зависшее приложение. Если у вас есть другие, более эффективные способы, напишите в комментариях!
Без облачная
Спасибо!
А вот у меня намертво зависает ноутбук в браузере при просмотре видео и не один метод не помогает причём это происходит каждый раз логи чистые без ошибок, что мне делать?
Проверьте правильность установки драйверов, отключите аппаратное ускорение, скорее всего проблема в этом.
Што делать если линукс слител
Здравствуйте,как можно отключить аппаратное ускорение?
Установить Windows.
Ничего не сделаешь такая же ерунда При просмотре видео в браузере стоит только раскрыть окно видео на весь экран и зависает В винде точно такого не проверял
Очень смешно.
Не сказал бы что убунту, либо другой линукс- дистрибутив прям намного стабильней Windows. Если с железом проблем нет, то они одинаковы по стабильности. Ести же есть - то зависать и глючить будут и та и другая.
Если обе, то понятно. Но у меня регулярно виснет только Ubuntu и так, что только выключатель срабатывает.
Автор, блин ну ты пишешь о достаточно важной теме, как можно делать ключевые ошибки?
Вот ты пишешь R E I U S B, а потом расшифровуешь, что в такой комбинации файловые системы с начало монтируются на чтение, а потом на них пытаются записать кеш записи. Вот логически подумай как оно запишет их на файловую систему, которая смонтированна только на чтение?
Правильная комбинация: R E I S U B
В статье ошибка. Клавиша E - это sigterm, а клавиша I - sigkill. Потому как sigkill - это безусловное уничтожение процессов, и его следует использовать после попытки корректно завершить процессы послав sigterm.
А вообще, по умолчанию в убунту триггер sysrq настроен особым образом, поэтому всё это пустое.
sysctl -a |grep sysrq
kernel.sysrq = 176
Это означает, что будут работать только S, U, B. Чтобы работали все доступные фунцкции, этот параметр должен быть равным 1. Выставление его в 0 полностью отключает sysrq.
И для убийства программ отожравших много памяти, есть Alt + SysRq + F
Да, тестировал, но и без этого сочетания система мониторинга памяти ядра неплохо справляется, если конечно не запущенно много потребляющих память программ, а в обратном случае эта комбинация не помогает. Например если перегрузить память только браузером Chromium, то система справляется очень долго.
Спасибо за сайт!
Попыталась отправить сообщение про опечатку
«Нажмите и удерживайте клавиши Alt+RrintScreen, и последовательно с интервалом 2-3 секунды нажимайте:».
После нажатия Ctrl+Enter появляется жалоба на проблемы безопасности и просьба перегрузить страницу. И так 17 раз.
Спасибо за сообщение! Странно что система сообщения об опечатках не работает скорее всего она блокируется вашим браузером или брэндмаузером.
А вообще, самое полезное в этой истории, что можно посылать эти сигналы не с клавиатуры, а из консоли. Несколько раз спасало это, помогало отправить в ребут сильно зависшую машину по ssh. Бывает такое, что reboot не срабатывает. Тогда можно сделать echo b > /proc/sysrq-trigger
Машина мгновенно уйдёт в перезагрузку. Точно так же можно посылать любые доступные команды.
Мое мнение, xkill, по крайней мере в Kubuntu 16.04, удобней запускать сочетанием Ctrl-Alt-Esc.
Операционная система Linux намного стабильнее Windows...Поржал от души))
Операционная система Linux намного стабильнее Windows смешно уже после этой фразы
Полезная статья
Спасибо! Статья очень помогла!
полезная статья и еще более полезные комментарии. спасибо всем за ценные советы
Благодарю! Это было изи
Ubuntu 16.04.3 , что делать если и мышь и клавиатура не функционируют.
Началось с того, что я подключил внешний диск по usb (1TB), для перезаписи 20GB. Это должно было продолжаться 20 мин. Включил броузер !!!! После этого мышь и клавиатура отрубились.
Как быть в таких случаях ? Я нажал на кнопку reset.
Спасибо.
Лучший способ решить проблему с зависанием убунты - перейти на винду или мак. Кроме того, что она бесплатная других преимуществ пока не нашел. Опыт использования дом/работа 2 года. Ни скорости работы, ни удобства, ни функциональности. Про регулярную перезагрузку из-за вдруг зависшего хрома с парой вкладок вообще говорить не стоит.
Это точно - винда виснет крайне редко. Вместо этого она выпадает в синий экран смерти.
Ерунда. Много лет стояла семерка на стареньком компе без проблем. Сейчас убунта, постоянные зависания и сообщения об ошибках в системных программах.
у XP и Vista уже 10 лет ! не разу не переставлял ни разу не висли! ) если железо в порядке то винды никогда не виснут! а линукс виснет ! Ubuntu иногда виснет полностью не реагирует ни на какие клавиши ! ) все эти советы пустое ! может пригодятся в 1% случаев ! )
КонЭчно ))) стабильнее. У меня 45 пользователей в сетке и корпоративный стандарт Unity (это полная ЖЕСТЬ!!!) bubunta 16.04. И это только 45 ПК, а головняков с бубнами больше чем от винды. Интересно как мне секретаря или оператора научить работать в терминале.
Как ни странно, с афтаром соглашусь. Что касается области задач разработки (как бэка так и фронта) на линуксе писать гораздо приятнее чем на windows. Последняя вечно всё криво билдит, компилит с ошибками и обеспечивает полную жопу геморроя.
Конечно чтоб сериальчики смотреть и заниматься прокрастинацией - windows - бог прокрастинации, юзайте и не думайте о linux, он требует навыков.
Относительно зависаний, у меня залипала ubuntu по жести. 5 мин покодить с приличным количеством тасков, или видос посмотреть и мёртвый лаг. Конечно через R E I S U B полезно ребутнуться но проеблемы это не решает.
Короче, проверяйте подкачку (swap). Вот эта инструкция мне сильно помогла:
https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04
Залипоны прекратились. Хотя раньше у меня был раздел на 4 гига, видимо он не применялся, так как сам файл отсутствовал
Странные Вы люди,как же я открою терминал,да еще и напишу команду,если компьютер завис?Зависание происходит при открытии больше 10 окон,стараюсь контролировать,но часто забываю.Зависание полное.Как выходить из этой ситуации кроме как кнопкой перезагрузка на компьютере.
"... завершить все процессы в текущем сеансе терминала СОЧИНЕНИЕМ клавиш Alt+PrintScreen+K."
Может быть, нажатием? Или комбинацией?
Кстати, комбинация клавиш Ctrl Enter у меня также перестала работать.
Не работает. Изначально там стоит виндус 10 я гружу убунту 18.04.3 лтс с флешки. Какое-то время(2-3 минуты) работает а потом намертво
Железо: CPU: Intel Celeron g1610, ozu: 2gb ddr3 1333mhz, gpu:нет, sata ssd 120gb
Знаю что сборка так-се, но есть что есть
И дело не в флешке. Кстати флешка 32гб гудрам
Так, вроде, полезно. Но не нашёл ответ на конкретно мою ситуацию. Всё работает адекватно... И вот только иногда, уже при выключении, доходит до последней картинки, и так и крутит точки под заголовком до тех пор, когда кончится моё терпение, и я выключу жёстко. Что это? На сколько критично? Если очень критично, то как исправить?
Добрый день! Что делать если полностью зависает? вырубаются мышь и клавиатура ... помогает только хардресет
Добавил ещё один пункт в статью, может у вас эта проблема.
Сегодня я разочаровался в надежности Убунту 18.04 (64 бит)намертво завис при серфинге. С 2010 пользуюсь Убунту, и никогда такого не было. Комп: AMD FX 8300 6 гигов оператива, Nvideo GTX 1500 SSD Samsung 250 гиг. Думаю переходить на винду
Добрый день! Купил 2 месяца назад комп, намного мощнее чем был старый, и появилась проблемка-Некоторые дистрибутивы виснут намертво, никакие комбинации клавиш не работают, помогает только перезагрузка ( на старом ПК 2009 года, такого и близко не было). Два месяца мучений, перечитал много статей, но везде одно и тоже (такое ощущение, что авторы тупо копируют тексты), в итоге толку никакого. И вот пару дней назад наткнулся на Вашу статью, и нашел себе силы дочитать до конца ( думал опять двадцать пять), в общем обратил внимание на не хватку энергии.... Заменил мышку на беспроводную, и о чудо....Комп молотит по 12-14 часов, и ни разу не завис!!! Как только воткнул свою игровую проводную мышку, через минут пять-семь завис опять намертво. БП у меня на 650 ВТ, неужели его не хватает ( когда брал комп, БП брал с запасом). Может как-то можно увеличить напряжение на мышь, подскажите пожалуйста, привык к своей проводной мышке)))
увеличь файл подкачки!
Данная проблема решилась у меня после увеличения SWAP - значение должно быть не меньше чем реальный объем оперативки! Так же исчезли зависания во время спящего режима! Все остальные способы вплоть до полного отключения дискретной Nvidia видеокарты - не помогали! А настройки SWAP помогли!
Смотрю у многих такая проблема при новой установке особенно на хорошем железе - опытные знают что нужно настраивать а новичкам не говорят про файл подкачки и то что он банально стоит на минималках не вытягивающие оперативку в 8 или 16гб
Отсюда и все мифы о том что Линукс не умеет уходить в спящий режим)) Конечно не умеет если в оперативки сидит 6гб а подкачка 2гб(именно такое значение по умолчанию) в сборках!
Не следует смешивать понятия спящего режима и гибернации.
Большой объем свободного пространства в файле/разделе подкачки требуется для гибернации ради выгрузки на диск содержимого оперативной памяти перед отключением питания. Но в виду негативных сторон данного подхода, Ubuntu и большинство прочих дистрибутивов по умолчанию используют более традиционный спящий режим, в котором питание оперативной памяти не прекращается и данные из нее не выгружаются, почему файл/раздел подкачки в этот процесс не вовлечен и может быть сколь угодно малого размера или вовсе отсутствовать.
И не ищите утилиту xkill в современной Ubuntu, поскольку xkill является частью инструментария X11, а Ubuntu вместе со многими другими дистрибутивами мигрировала на Wayland, в котором аналога xkill ПОКА нет.
Самоё неприятное при зависании, то что не сохраняются редактируемые документы.
Т.к. это бывает часто, то надо сохранять сразу после исправления документ.
Самое плохое зависание: когда не чувствует клавиатуру и мышь, тогда при таком зависании приходится выключать питание.
В разделе "Убунту зависла полностью" сначала идёт последовательность R E I S U B, но при описании этих действий последовательность другая: R E I U S B. Это может сбить с толку какую последовательность использовать.
Видно, что под ZorinOS, Ubuntu и Mint, Linux зависает гораздо чаще, чем Windows, не только у меня одного (см. комментарий к этому топику от Лён 25 августа, 2016 в 12:25 дп "Операционная система Linux намного стабильнее Windows... Поржал от души"; Джо Неуловимый 8 февраля, 2016 в 3:39 пп; Артем Мен 19 марта, 2017 в 4:27 пп; zeleniy 16 марта, 2018 в 8:14 дп; Рома 22 апреля, 2018 в 11:29 пп .
Майк 9 августа, 2018 в 10:53 пп "Странные Вы люди,как же я открою терминал,да еще и напишу команду,если компьютер завис? Зависание происходит при открытии больше 10 окон,стараюсь контролировать,но часто забываю.Зависание полное.Как выходить из этой ситуации кроме как кнопкой перезагрузка на компьютере."; Artem P 6 марта, 2020 в 7:03 дп; Валерий 31 января, 2018 в 11:28 пп "Ubuntu ... , что делать если и мышь и клавиатура не функционируют... Как быть в таких случаях?". Попытаться разблокировать, перед закрытием программ, клавиатуру и мышь командой Alt+PrintScreen+R .
Вообще при любом зависании:
1. Alt+PrintScreen+R - попытаться разблокировать клавиатуру и мышь. Если получилось, то выполнять последующие действия:
2. Alt+Tab..Tab - Выбрать нужную программу.
3. Alt+F4 или нажав мышкой на крест расположен справа-вверху окна - закрыть текущую программу. Текстовый редактор при этом спрашивает: Надо ли сохранять не сохранённый файл?
4. Завершить работу или сбросить (если не нужно работать с флешкой из BIOS'а) по Ctrl+Alt+Delete .
Я попрошу откликнуться тех (есть ли такие), у кого Linux больше года работал без зависаний и указать свой дистрибутив. (У меня стоит Windows 10 - зависает или синий экран смерти не чаще раза в год и Linux Mint 21 Cinnamon виснет в среднем раз в неделю, Swap=2*ОЗУ=8 ГБт (Организован не файлом, а разделом). В автозагрузке стоят Немо, Geany и Яндекс браузер. Замечено, что если что-то делать на компе(набирать текст) при загрузке, то происходит зависание. Если завис текстовый редактор, то как правило, помогает закрытие Немо).
P.S. При использовании Ubuntu часто зависает при выходе из Сна, а Минт - ни разу.