Что мне делать, когда Ubuntu зависает?

608

Все операционные системы иногда зависают, и Ubuntu не является исключением. Что я должен сделать, чтобы восстановить контроль, когда ...

  • только одна программа перестает отвечать?
  • вообще ничего не реагирует на щелчки мышью или нажатия клавиш?
  • мышь перестает двигаться полностью?
  • У меня есть процессор Intel Bay Trail?

В каком порядке я должен попробовать различные решения, прежде чем выдернуть вилку из розетки?

Что я должен делать при сбое запуска Ubuntu? Есть ли диагностическая процедура, которой я могу следовать?

ændrük
источник
Вы должны медитировать и начать изучать Windows или MacOS! гораздо стабильнее, чем Linux.
Простой парень

Ответы:

419

Когда одна программа перестает работать:

Когда окно программы перестает отвечать на запросы, вы обычно можете остановить его, нажав X-образную кнопку закрытия в левом верхнем углу окна. Как правило, это приводит к появлению диалогового окна, в котором говорится, что программа не отвечает (но вы уже знали об этом), и вам предоставляется возможность убить программу или продолжать ждать ее ответа.

Иногда это не работает, как ожидалось. Если вы не можете закрыть окно обычным способом, вы можете нажать Alt+ F2, напечатать xkillи нажать Enter. Курсор мыши будет превращаться в X . Наведите курсор на оскорбительное окно и щелкните левой кнопкой мыши, чтобы убить его. Правый щелчок отменит и вернет вашу мышь в нормальное состояние.

Если ваша программа работает с терминала, с другой стороны, вы обычно можете остановить ее с помощью Ctrl+ C. Если нет, найдите имя и идентификатор процесса его команды и скажите программе завершить как можно скорее kill [process ID here]. Он отправляет сигнал по умолчанию SIGTERM( 15). Если все остальное терпит неудачу, в крайнем случае отправки SIGKILL( 9): kill -9 [process ID here]. Обратите внимание, что вы должны использовать только SIGKILLв качестве крайней меры, потому что процесс будет немедленно остановлен ядром без возможности очистки. Он даже не получает сигнал - он просто перестает существовать.

( kill -9Уничтожение процесса всегда выполняется, если у вас есть разрешение на удаление. В некоторых особых случаях процесс все еще указан в списке psили top(как «зомби»)) - в этом случае программа была убита, но запись таблицы процесса сохраняется, потому что это нужно позже.)

Когда мышь перестает работать:

Если клавиатура все еще работает, нажмите Alt+ F2и запустите gnome-terminal(или, если они не запускаются, нажмите Alt+ Ctrl+ F1и войдите под своим именем пользователя и паролем ). Оттуда вы можете решать проблемы. Я не собираюсь углубляться в устранение неполадок мыши, так как я не исследовал это. Если вы просто хотите попробовать перезапустить графический интерфейс, запустите sudo service lightdm restart. Это должно привести к отключению графического интерфейса, который затем попытается возродиться, и вы вернетесь к экрану входа в систему.

Если у вас есть процессор Intel Bay Trail

См. Https://askubuntu.com/a/803649/225694 .

Когда все, клавиши и мышь и все, перестают работать:

Сначала попробуйте метод Magic SysReq, описанный в ответе Феникса . Если это не сработает, нажмите кнопку сброса на корпусе компьютера. Если даже это не сработает, вам просто нужно выключить и снова включить двигатель.
Пусть ты никогда не достигнешь этой точки.

koanhead
источник
9
Недавно я обнаружил, что вместо "ps $ options | grep $ process_name", на который ссылаются выше, можно просто ввести "pgrep $ process_name", чтобы получить примерно такой же результат (для определенных значений $ options).
koanhead
@ Chan-Ho Suh Невозможность запуска не очень "зависает". Мы покрываем неудачу загрузки в askubuntu.com/questions/162075/… . Или вы имеете ввиду замораживание при входе в систему?
Джед
4
Никогда не следует рекомендовать kill -9сразу. Вместо этого сначала следует попытаться убить процесс с менее радикальными сигналами и использовать -9 только в случае неудачи.
Скотт Северанс
Почему REISUB полезен, когда система зависла? Я не могу найти, какая опция в REISUB может вернуть мне управление, кроме перезагрузки. Спасибо ~
Сэм
1
sudo service lightdm restart: Не круто - убьет все процессы графического интерфейса в Ubuntu 13.04 по крайней мере - для меня это включало запуск Виртуальных машин и т. Д. :(
Стивен
478

Если он полностью блокируется, вы можете перезапустить его, что является более безопасной альтернативой простой перезагрузке компьютера.

REISUB от:

Удерживая Altи SysReq (Print Screen)клавиши, наберите REISUB.

R:  Switch to XLATE mode
E:  Send Terminate signal to all processes except for init
I:  Send Kill signal to all processes except for init
S:  Sync all mounted file-systems
U:  Remount file-systems as read-only
B:  Reboot

REISUB работает задом наперед, как в «Система более загружена, чем должна быть», если вам нужно это запомнить. Или мнемонически - R eboot; E ven; Я ф; S ystem; U tterly; Б Рокен.

Это ключ SysReq:

Ключ SysReq

ПРИМЕЧАНИЕ. Существует менее радикальный способ, чем перезагрузка всей системы. Если SysReqключ работает, вы можете убивать процессы по одному, используя Alt+ SysReq+ F. Ядро будет убивать в большинстве случаев «дорогой» процесс каждый раз. Если вы хотите убить все процессы для одной консоли, вы можете выполнить Alt+ SysReq+ K.

ПРИМЕЧАНИЕ. Вы должны явно включить эти комбинации клавиш. Ubuntu поставляется с настройкой sysrq по умолчанию 176 (128 + 32 + 16), которая позволяет запускать только SUB часть комбинации REISUB. Вы можете изменить его на 1 или, что потенциально менее опасно, на 244. Для этого:

sudo nano /etc/sysctl.d/10-magic-sysrq.conf

и переключите 176 на 244; тогда

echo 244 | sudo tee /proc/sys/kernel/sysrq

Это будет немедленно работать! Вы можете проверить это, нажав Alt+ SysReq+ F. Для меня это убило активную вкладку браузера, потом все расширения. И если вы продолжите, вы можете перезапустить X Server.


Больше информации обо всех функциях Alt+ здесь .SysReq

Феникс
источник
108
Если вы вынуждены делать это, делайте это медленно. Подождите несколько секунд между каждым нажатием клавиши, чтобы у вызываемых вами команд была возможность закончить, прежде чем перейти к следующей.
Эндрю Ламберт
25
В случае, если вам нравятся мнемоники: «Поднять слонов - это очень скучно», или «Перезагрузить событие, если система совершенно сломана». Я также видел это как RSEIUB («Разводить худых слонов - ужасно скучно»).
Зигфрид Геваттер
12
Я на самом деле придумал этот и пытаюсь запомнить его так: «Сбросить системную среду в UBuntu». или «Сбросить среду в системе UBuntu».
Луис Альварадо
3
Что вы делаете, если вы используете Mac, у которого нет ключа SysRq?
Cerin
63

Вы можете сделать сочетание клавиш Ctrl+ Alt+, чтобы Deleteоткрыть системный монитор , с помощью которого вы можете убить любые неотвечающие приложения.

  1. Откройте « Система» ➜ «Настройки» ➜ «Сочетания клавиш» и нажмите « Добавить» .
    В поле Command введите gnome-system-monitor. Назовите ярлык как хотите.

введите описание изображения здесь

  1. Нажмите Apply, а затем нажмите там, где написано Disabled . Теперь нажмите клавиши Ctrl+ Alt+Delete

введите описание изображения здесь

  1. Закройте сочетания клавиш и опробуйте ярлык:

введите описание изображения здесь

Alvin Row
источник
6
но если X полностью блокируется или даже ядро ​​зависло, вы не можете сделать многое с помощью сочетания клавиш.
ζ--
23
К сожалению, системный монитор довольно сильно загружает процессор. Как правило, он потребляет до 20% моего процессора, поэтому, если ваш компьютер перегружен, запуск SM только ускоряет его дробление.
Cerin
3
Если вы можете открыть системный монитор, вы можете получить доступ к терминалу, и в этом случае ваша ОС не будет заморожена.
NBM
2
Системный монитор, к сожалению, не является доверенным диспетчером задач в Windows. Как указано выше, он будет запускаться только в том случае, если (по иронии судьбы) Ubuntu не заморожен. И даже если это так, это все равно не отвечает.
ksoo
47

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

аппаратные средства

Если это настольный ПК, посмотрите на свои аппаратные карты. Как для ноутбуков, так и для настольных компьютеров возможны проблемы типа acpi.

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

Для проблем, связанных с acpi, попробуйте загрузиться с помощью noapic nomodesetопции загрузки grub. Также стоит попробовать, acpi=offхотя это может иметь и другие нежелательные эффекты, такие как постоянное использование вентилятора.

Также стоит проверить уровень версии BIOS и узнать, есть ли у поставщика более новая версия BIOS. Надеемся, что в примечаниях readme должно быть указано, что любая новая версия исправляет сбои и зависания.

Программное обеспечение

Я заметил, что вы пробовали стандартные драйверы 270, но не смогли из-за зависаний. Можете ли вы уточнить, были ли у вас похожие проблемы с драйвером с открытым исходным кодом? Очевидно, вы не получите Unity во время тестирования этого.

Замораживание графики может быть одним из / или сочетанием драйвера / compiz / X / kernel

Если вы хотите попробовать любое из приведенных ниже предложений, сначала сделайте резервную копию вашей системы с помощью хорошего инструмента резервного копирования, такого как CloneZilla. Для получения изображения вам понадобится внешнее мультимедийное устройство, например, большой USB-накопитель / диск или отдельный внутренний жесткий диск.

Установка более нового драйвера nVidia

Деактивируйте (удалите) текущий драйвер 173-nvidia с помощью окна «Дополнительные драйверы».

Есть небольшое количество важных исправлений, в первую очередь в стабильной версии 275, но небольшое количество также в 280beta, которая исправила зависания - стоит попробовать, применимы ли они к вашей видеокарте. К сожалению, nvidia не вдавалась в подробности, какие карты они специально исправляют (readme.txt)

Однако - я бы настоятельно рекомендовал сделать резервную копию, если вы не уверены в том, чтобы отменить установку nvidia, тем более что у вас были серьезные проблемы с чуть более старыми драйверами 270. Я использовал Clonezilla бесчисленное количество раз, и это всегда доставляло мне неприятности. Вам нужен большой внешний диск - флешка / внешний диск или отдельный диск.

X Обновления

Самые последние графические драйверы были упакованы в ppa обновлений x .

Обратите внимание - это уведет вас от стандартной базовой линии - если в будущем ppa-purgeобновится сам PPA перед обновлением.

Вы также можете вручную установить драйверы от nVidia:

Попробуйте установить последние версии драйверов nvidia stable 275 или 280 - драйверы 32bit 280: сайт ftp и драйверы 64bit: 280: сайт ftp

Установить

CTRL+ ALT+ F1для переключения на TTY1 и авторизации

sudo service gdm stop

Чтобы остановить X-сервер

sudo su

Запускать от имени root

cd ~/Downloads
sh NVIDIA-Linux-x86-280.04.run

Чтобы установить 32-битный драйвер (эквивалент для 64-битного), перезагрузите компьютер.

Удалить

sudo sh NVIDIA* --uninstall

Также удалите /etc/X11/xorg.conf

X / Kernel / Compiz

Если вы используете классический Ubuntu с эффектами, возникают ли у вас те же проблемы с зависанием, что и в стандартном Ubuntu? Если вы не можете воспроизвести стоп-кадр с классической Ubuntu (без эффектов), это укажет на проблему с компизом. Я хотел бы поднять отчет об ошибке панели запуска с командой compiz.

Если доступно пространство (например, 20 Гб), вы можете выполнить двойную загрузку / установку вместе с последней версией Oneiric. Очевидно, что это само по себе будет нестабильным, но оно будет поставляться с последними версиями X и Kernel. Возможно, вам также придется вручную установить драйверы бета-версии 280, указанные выше, поскольку они, вероятно, не будут предлагаться в окне «Дополнительные драйверы».

Если во время тестирования вы не видите той же активности замораживания, вы можете попробовать поднять свою версию X с помощью x-edgers ppa и использовать ядро ​​ядра 3.0 в Natty. Переход по этому маршруту не очень желателен - и может вызвать проблемы с обновлением в будущем - и может иметь другие непредвиденные проблемы со стабильностью. Опять же, используйте ppa-purgeдля удаления PPA.

Ядро 3.0 поставляется в комплекте с PPA - вам нужно установить заголовки, а также само ядро ​​из синаптической системы ДО перезагрузки, если вы собираетесь установить диск nvidia позже.

Это тестовый ppa - имейте готовую резервную копию, если хотите попробовать этот маршрут.

свободы
источник
... Вы уверены, что это хорошая идея, и она может решить проблему? Или это только предположение? Так как у меня было много проблем с nvidia-current, но ничего не получалось ... Поэтому я перешел на nvidia-173. Могу ли я просто восстановить всю систему из резервной копии CloneZilla? Проблема в том, что у меня больше нет запасного жесткого диска для установки системной копии ...
RobinJ
Я попробую ... Хотя у меня нет жесткого диска для резервного копирования, поэтому я просто надеюсь, что это не сломает всю мою систему. О том, что я чувствую себя некомфортно при использовании бета-версии программного обеспечения: я сейчас работаю над Ubuntu 11.10 Alpha 3 xD Но для работы я просто использую Ubuntu 11.04, поскольку мне не нужны постоянные ошибки, а иногда происходит сбой при создании сайта или чего-то подобного: p
RobinJ
О, дорогой xD, я установил драйвер NVidia-275 и перезагрузился. Х больше не начинался. Нет проблем, после просмотра файлов журнала я увидел, что другой драйвер уже использует устройство. Я добавил nouveau в черный список modprobe, перезагрузился, и X снова запустился ... Но теперь у меня возникла другая проблема ... Я вижу интерфейс Unity, и тогда все просто зависает: p Я могу переключиться на tty и запускайте команды и все, но кажется, что Unity и оконный менеджер / декоратор потерпели крах. Я не могу переключиться обратно на панель Gnome (и, честно говоря, я бы этого не хотел), ...
RobinJ
... как я убил его несколько недель назад (специально, потому что он работал вместе с Unity Panel по какой-то странной причине: p). И не говорите мне, чтобы я использовал Unity 2D, пожалуйста, потому что он не работает слишком хорошо и просто для меня. Фактически, Unity - единственная причина, по которой я все еще устанавливаю драйверы с открытым исходным кодом. Так, пожалуйста, помогите мне? xD
RobinJ
... Я уже сделал это, за исключением повторного включения Nouveau, поскольку я не вижу смысла в этом. Но я хотел помочь мне с проблемой замерзания, пожалуйста.
RobinJ
38

Если вы получаете много зависаний, возможно, что-то не так с вашим оборудованием. Раньше я получал жесткие блокировки каждые 48 часов из-за неоптимальной оперативной памяти. Memtest86 + показала неисправность после 40 минут тестирования. Поменял оперативную память еще на несколько (по гарантии) и теперь у меня 32 дня, 1 час безотказной работы.

Ubuntu, как и Windows, со временем не склонен просачиваться в вашу память. Даже если это делает одно приложение или плохой драйвер X-видео, вы можете очень просто перезапустить LigthtDM и просто продолжать работать. На самом деле я прошел через три бета-версии драйвера nvidia в этой загрузке :)

Во всяком случае ... Зная, как тихо перезапустить, очень удобно, поиск, отчетность и исправление системы должны быть вашим следующим приоритетом. Если это постоянно включенная система, вы легко сможете сделать это между обновлениями ядра * без необходимости перезапуска.

* Вам следует перезагрузить компьютер, когда вы получите обновления ядра, так как они будут исправлениями безопасности, которые не будут применены, пока вы не перезагрузите новое ядро.

Oli
источник
1
Я согласен, что ОЗУ обычно является виновником нестабильных систем. Однажды у меня возникла проблема, которую Memtest86 + не смог найти, но я мог вызывать ее повторно за 5 минут, многократно выполняя sha1sums для очень больших файлов (контрольные суммы время от времени менялись). Это тоже было исправлено заменой карт памяти. Другими распространенными причинами являются нестабильный источник питания или плохие конденсаторы на материнской плате. Единственный способ диагностировать эти проблемы - продолжать заменять детали, пока они не заработают.
Микко Ранталайнен
1
+1 для memtest86. Оперативная память может быть неисправна, если вы не заметите это при ежедневном использовании.
jmiserez
31

Когда все перестает работать, сначала попробуйте Ctrl+ Alt+, F1чтобы перейти к терминалу, где вы можете убить X или другие проблемные процессы.

Если даже это не сработает, попробуйте удерживать нажатой кнопку Alt+ SysReqво время нажатия (медленно, с интервалом в несколько секунд) R E I S U B.

Это переводит клавиатуру в режим raw, завершает задачи в различных состояниях, синхронизирует диски и т. Д. И, наконец, перезагружает компьютер. Делая это, вы получите гораздо лучшие результаты, чем просто потяните за вилку. Конечно, если это не удастся, вам придется потянуть за вилку.

Octavian Damiean
источник
9
«REISUB» можно запомнить как «Перезагрузка, даже если система полностью сломана».
Мэтью Крамли
6
или "Разводить слонов так скучно": P
Аксель
6
Я помню это, используя "BUSIER" назад
Nerdfest
4
Между Ctrl+ Alt+ F1и попыткой убить процессы, и Alt+ SysRq+ R E I S U B, стоит нажать Ctrl+ Alt+ Delete. Если вы успешно добрались до текстовой виртуальной консоли (нажав Ctrl+ Alt+ F1), это практически всегда перезагрузит компьютер.
Элия ​​Каган
Гораздо грубее и по-испански: REInicia SUBnormal
Рамон Суарес
30

Кроме того, иногда просто зависает X-сервер - случай, который я чаще всего обнаруживаю, когда вы используете Compiz.

Если это так, вы можете убить X, который перезапустится и вернет вас обратно на экран входа.

Последовательность по умолчанию Ctrl+ Alt+Backspace

Хотя это отключено по умолчанию (предположительно, новые пользователи случайно нажали его) и может быть включено снова так:

  1. SystemKeyboard(т.е. диалог настроек клавиатуры)
  2. Вкладка " Макеты"
  3. Нажмите кнопку Параметры
  4. В последовательности ключей, чтобы убить точку X-сервера, отметьте Ctrl+ Alt+Backspace .
Томас Майкл Уоллес
источник
3
Если ваш видеодрайвер использует настройку режима ядра (KMS), вряд ли этого будет достаточно для исправления блокировок, вам придется использовать sysrq или цикл питания. (Продолжайте и попробуйте CAB, это, очевидно, не повредит; оно работает, когда приложение (например, compiz / unity) застряло, а не само X, однако другие ответы на этой странице были бы лучше в этом случае). Но когда это не работает, теперь вы знаете, почему. :-)
Брайс
Примечание для новых пользователей о KMS: Как правило, если вы используете бинарный драйвер (возможно, если у вас есть видеокарта nVidia, а иногда, если у вас есть карта ATI), ваш видеодрайвер не использует KMS.
thomasmichaelwallace
Я не могу найти это в Ubuntu 14.04. Когда я захожу в «Настройки»> «Клавиатура», на вкладках отображаются только набор текста и ярлыки. Я просто просмотрел все ярлыки и не смог найти «Последовательность клавиш для уничтожения X-сервера». Могу ли я сделать это 14.04?
Энди
28

Мой первый фаворит, когда произошло полное замораживание - Alt+ SysRq+ K.

Эта комбо убивает X и возвращает меня к графическому экрану входа в систему. Если это не сработает, попробуйте Alt+ SysRq+ R E I S U B.

Octavian Damiean
источник
18

В таких случаях вы можете попробовать CTRL- ALT- F1попасть в консоль. Затем войдите под своим паролем.

Перезапуск графического интерфейса

Вы можете попробовать перезапустить ваш графический рабочий стол с помощью:

sudo service lightdm restart

Если вы работаете с Ubuntu 11.04 или более ранней версией , вы должны использовать это вместо этого (как gdmобычно это менеджер дисплеев по умолчанию):

sudo service gdm restart

Если вы вместо этого используете Kubuntu, то по умолчанию используется менеджер дисплеев kdm, поэтому вам следует использовать:

sudo service kdm restart

Если вы используете другой диспетчер отображения, замените ligthdm/ gdm/ kdmего именем.

Перезагрузка машины

Если вы хотите выполнить чистую перезагрузку системы, используйте:

sudo shutdown -r now
Элия ​​Каган
источник
17

DoR и Phoenix ответили на это хорошо. Чтобы сделать эту страницу более полной, я бы добавил:

Если «сломан» только X, то вы можете использовать ядро, чтобы убить его:

SysRq+ Alt+K

Для ноутбуков (зависит от модели, обычно требуется, если «SysRq» написано синим цветом):

Fn+ SysRq+ Alt+ K(отпустить Fnпосле нажатия SysRq).

desgua
источник
ПОЭТОМУ это зависит от ноутбука - на моем ThinkPad Alt + SysRq не требует ни Fn, ни Ctrl.
Мариус Гедминас
1
Последовательность нажатия клавиш аккуратно описана здесь (Форумы Ubuntu: ubuntuforums.org/showthread.php?p=11773367#post11773367 ), особенно для ноутбука, где клавиша «Fn» имеет значение. Мне пришлось следить за этим на моем Lenovo Ideapad - сначала удерживайте «Fn» левой рукой, нажмите Alt + SysRq справа, оставьте «Fn» и медленно продолжайте работу с REISUB.
Четан С.
16

Я открываю терминал, например, Ctrl+ Alt+F2

Войдите в систему и используйте терминал, чтобы убить процесс, который отстает

ps -e | grep <procesname>

Это показывает processID процесса с этим именем

(sudo) kill <processID>

Это безопасно завершает процесс, в случае, если это не работает использовать

(sudo) kill -9 <processID>

Используйте справочные страницы для получения дополнительной информации об этих командах.

Вы можете вернуться к графическому интерфейсу пользователя с помощью Ctrl+ Alt+F7

Chielus
источник
8
psи grep PROCESSможет быть заменен pgrep PROCESSвызовом, и все ваше может быть просто заменено на pkill PROCESSили killall PROCESS.
Мартин Уединг,
спасибо, я этого не знал Кажется, тоже команды UNIX, приятно
Chielus
Однако стандартное поведение pgrepне должно показывать ничего, кроме самого идентификатора процесса. Если вы хотите узнать полное имя процесса и любую другую информацию, psэто все еще очень ценный инструмент.
Элия ​​Каган
13

Для диагностики зависаний вы должны использовать сетевую консоль (или последовательную последовательную консоль). Следуйте инструкциям по настройке, изложенным здесь .

Ли Ло
источник
Я сделаю это и опубликую результаты.
Джордан Пармер
Это работало как чемпион. Идентифицировал проблему как мою видеокарту: "radeon .... резерв не удался для ожидания". Теперь я знаю, что искать.
Джордан Пармер
13

Первое, на что нужно обратить внимание, это замороженный X или вся система. Включите SSH и затем SSH в систему. Если вы не можете подключиться к нему по ssh, возможно, это блокировка ядра. Если вы можете войти в ssh, то это может быть просто зависание GPU.

Затем попробуйте перезапустить X. Сделайте это, перезапустив менеджер дисплея:

  • В Ubuntu 11.10 и более поздних версиях LightDM является диспетчером отображения, поэтому выполните:

    service lightdm restart
    
  • В Ubuntu 11.04 и более ранних версиях GDM является диспетчером отображения, поэтому запустите:

    service gdm restart
    

Если это работает, то это, возможно, ошибка X. Если это все еще не работает, возможно, у вас есть блокировка графического процессора в драйвере ядра drm. На этом этапе было бы полезно узнать, используете ли вы драйвер -ati (с открытым исходным кодом) или -fglrx (с закрытым исходным кодом).

Bryce
источник
1
Спасибо! Мой рабочий стол тоже случайно зависает. Запуск «service gdm restart» всегда вызывает его. В большинстве случаев рабочий стол, кажется, зависает во время работы Firefox. Любые идеи о том, как я могу отладить / исправить это?
Сухридк
Ну, как правило, когда я использую слово «случайный» в описании ошибки, я принимаю это как подсказку, что мне нужно сделать немного больше, чтобы лучше охарактеризовать ошибку. Например, как часто это происходит, есть ли какие-либо вещи, которые, кажется, вызывают его больше, чем другие, если какие-либо другие симптомы возникают в сочетании и т. Д.
Брайс
Вы также должны рассмотреть ваше оборудование и драйвер. Некоторые драйверы, такие как -intel, более подвержены ошибкам замораживания, чем другие драйверы, такие как -ati. Аппаратное обеспечение также может сыграть роль, например, если вы положите карту ATI высокого класса в коробку с отрывочным источником питания. Плохая память, глючные материнские платы, перегрев, перебои с питанием и т. Д. Могут привести к зависанию.
Брайс
Просматривая другие комментарии на этой странице, вы можете увидеть предложения по всей карте. К сожалению, замораживание является распространенным конечным результатом целого ряда различных проблем. Они могут быть программными, аппаратными или их комбинацией. Вот почему крайне важно, чтобы оригинальный репортер предоставил как можно более подробный и подробный отчет. По этой же причине два человека, испытывающие одинаковое замораживание, действительно должны рассматриваться как совершенно отдельные ошибки, если только их HW и SW не совпадают.
Брайс
Замораживание на разных драйверах отлаживается по-разному. Например, -intel имеет набор инструментов отладки, которые вы можете установить, которые позволяют вам захватывать дампы GPU. Для получения подробной информации см. Wiki.ubuntu.com/X/Troublesho//Freeze .
Брайс
11

Если вам нужно сделать жесткое выключение, я бы подумал, что память (RAM) не работает. При следующей загрузке попробуйте запустить memtest86. Сделать это:

  • во время загрузки удерживайте нажатой клавишу Shift
  • появится меню GRUB
  • используйте клавиши курсора, чтобы выбрать последний параметр «memtest86»
  • нажмите Ввод

Вы получите базовый дисплей, и он попытается прочитать и записать множество значений во всю вашу оперативную память. Пока нет сбоев, вы увидите зеленый статус. Если есть какой-либо сбой, он станет красным. В этом случае вам необходимо заменить хотя бы одну флеш-память.

Существует также документация сообщества диагностики неисправностей оборудования .

Хэмиш Даунер
источник
9

Если вы когда-либо использовали волшебную SysRqклавишу, как было предложено в первом ответе, попробуйте сначала заставить клавиатуру работать с Alt+ SysRq+ R; попробуйте Ctrl+ Alt+ F1снова.

Это может сработать, и вы можете спасти себя перезагрузкой. Только если это не работает, вы должны попробовать всю последовательность REISUB .

Octavian Damiean
источник
8

Просто нажмите Ctrl+ Alt+ F1на клавиатуре, чтобы открыть TTY1. Когда он откроется, запустите команду Kill. Пример ниже.

сначала вы используете: ps это покажет вам все запущенные процессы («ps | less», если вы хотите видеть результаты страницу за страницей) Затем вы ищите PID процесса, который хотите завершить. После этого используйте: kill pid

команда kill - остановка запуска процесса

Синтаксис: kill [-s sigspec] [-n signum] [-sigspec] jobspec или pid kill -l [exit_status]

Описание: Большинство современных оболочек, включая Bash, имеют встроенную функцию уничтожения. В Bash имена и номера сигналов

принимаются в качестве параметров, а аргументами могут быть идентификаторы задания или процесса. О состоянии выхода можно сообщить с помощью опции -l: ноль, если хотя бы один сигнал был успешно отправлен, ненулевой, если произошла ошибка. Используя команду kill из / usr / bin, ваша система может включить дополнительные параметры, такие как возможность уничтожения процессов, отличных от вашего собственного идентификатора пользователя, и указание процессов по имени, например, с помощью pgrep и pkill. Обе команды kill отправляют сигнал TERM, если ни одна не указана.

Источник: http://www.linuxforums.org/forum/newbie/53976-end-tasks-linux-like-task-manager-windows.html

Источник: http://webtools.live2support.com/linux/kill.php

Митч
источник
1
Как насчет того, если я не уверен в pid, который вызывает зависание моей системы. Может быть много запущенных процессов, мешающих друг другу, что приводит к зависанию системы. Не могли бы вы объяснить, как действовать в таком случае ..
Рохит Бансал
Почему голосование против? Просто чтобы я знал, что не так :)
Митч
Используя верхнюю команду на консоли, вы часто можете увидеть, какой процесс зависает, проверив столбец cpu%. Затем вы можете убить этот процесс.
Флойд
Какая команда? ps
Митч
я имел в виду команду "top" из консоли.
Флойд
5

Я думаю, что идеального дистрибутива не существует, даже в Windows у них есть этот экран смерти.

  • Откройте другой терминал Ctrl+ Alt+ F2.

  • Войдите со своим логином и паролем.

  • Выполните эту команду:

    sudo /etc/init.d/gdm restart
    

    Это перезапустит или выйдет из вашего текущего сеанса, но не перезагрузит.

Затем Ctrl+ Alt+ F7вернитесь к вашему графическому интерфейсу.

dsaint
источник
5

(Ответ сообщества вики - решение было изначально похоронено в вопросе ОП )

РЕШЕНИЕ:

Решил это.

Моей конкретной проблемой была моя видеокарта (интегрированная серия Radeon 9000). netconsole показал , что я получаю ошибку: "reserve failed for wait". После проб и ошибок я вручную настроил видеокарту и отключил аппаратное ускорение. Полностью исправлена ​​проблема.

Вот что я сделал:

Создано вручную xorg.conf

Ubuntu автоматически настраивает xorg.conf и не использует файл. Чтобы отредактировать этот файл, вы должны указать Ubuntu явно создать его, а затем отредактировать. Вот шаги:

  1. Перезагрузите систему
  2. Держи Shiftкак GRUB сапоги
  3. Выберите корневой терминал в меню входа GRUB.
  4. Выполнение: X -config xorg.conf.new
  5. Копирование: cp xorg.conf.new /etc/X11/xorg.conf

Отключить аппаратное ускорение

Следующее относится к моей карте Radeon, но я уверен, что другие карты имеют аналогичную настройку.

  1. редактировать xorg.conf
  2. Найти раздел «Устройство» для видеокарты
  3. Раскомментируйте параметр «NoAccel» и установите «True»
  4. Сохранить + перезагрузить

Надеюсь, это поможет.

свободы
источник
4

Самое простое решение - добавить апплет «Принудительное завершение » на верхнюю панель Gnome, а когда программа не отвечает, нажмите на принудительное завершение, а затем на приложение.

Я удивлен так много ответов, это не упоминается. Конечно, вы всегда можете сделать ps -Aи трубы , что grepдля имени программы. И kill -9это. Я предпочитаю простоту.

Лакшман Прасад
источник
Это больше не вариант для Unity или GNOME 3, не так ли?
Вальдир Леонсио
4

Вы всегда можете сделать Alt+ F2и написать killall <program>или xkillи нажать на окно, которое вы хотите разбить!

Konstapel Kask
источник
4

Моя убунту очень склонна к замерзанию (вероятно, 20 с лишним раз в день). Я также использую волшебный ключ sysrq, но вместо того, чтобы использовать его для перезагрузки или уничтожения xserver, я использую команду 'f', которая вызывает oom_kill, эффективно удаляя процесс. Я только когда-либо видел эти выпадающие вкладки Chrome (так как я имею тенденцию открывать довольно много тяжеловесов одновременно). В любом случае, это выводит меня из этого беспорядка в 95% случаев.

Поэтому, когда моя Ubuntu зависает (зависает, мышь перестает отвечать и т.д.), я удерживаю alt+ sysrqи затем нажимаю f(если вы не сделаете это правильно, вместо этого будет сделан скриншот). Я обычно должен повторить это комбо пару раз, прежде чем Ubuntu вернется к жизни.

Я бы давно отказался от Ubuntu, если бы я этого не обнаружил, надеюсь, это кому-нибудь поможет!

unohoo
источник
3

Нажмите Alt+, F2чтобы запустить команду. Введите xkillи нажмите Enter.

Ваш курсор мыши превратится в крест, который может заставить закрыть любое окно, на которое вы щелкнете.

Если кто-то может предоставить скриншот, я думаю, это было бы полезно.

Agmenor
источник
не работает, так как рабочий стол заморожен
Флойд
3

Вы можете получить дополнительную информацию при переключении в режим просмотра TTY. Нажмите Ctrl+ Alt+, F1чтобы получить это, используйте Ctrl+ Alt+ F7(или, может быть F8), чтобы вернуться к GUI. Вы можете проводить разные сессии на большинстве F-клавиш, но это совсем другой вопрос.

Skizz
источник
Я пытался это сделать, но вся система заблокирована. Клавиатура совершенно не отвечает.
Джордан Пармер
2

если возможно, попробуйте открыть оболочку ssh с другого компьютера. это вариант Если вы заранее знали, что компьютер может зависнуть, откройте соединение, прежде чем выполнять эту задачу.

Я делаю это иногда, когда я знаю, что vmware сходит с ума и графический интерфейс Ubuntu (хост vmware) перестает отвечать на запросы. Я могу сделать приостановку из оболочки ssh, это может занять некоторое время, пока он не пройдет, и через некоторое время компьютер снова простаивает.

KNB
источник
Лучшая идея - перейти на другой TTY (не GUI), нажав Ctrl + Alt + F [1-6], где F[1-6]F1, F2, ..., F6. Это особенно полезно, если ваше сетевое соединение интенсивно используется. (чтобы переключиться назад, используйте Ctrl + Alt + F7. Замените F7 на F8, если это не сработало.
Лекенштейн
Конечно, однако я всегда склонен забывать эти комбинации клавиш. И когда я знаю, что должен выполнить некоторые задачи / эксперименты, в которых компьютер может зависнуть, всегда удобно иметь доступ ко второму компьютеру, доступному рядом с зависающим.
knb
Для некоторых экспериментов рекомендуется использовать виртуальную машину в VirtualBox. Таким образом, вы можете легко вернуть состояние машины.
Лекенштейн
2

Были некоторые пропущенные ошибки в отношениях Unity / Compiz, системы X.org и драйвера видео. Эти ошибки, конечно, имеют дело с более новыми, обновленными версиями Unit, Compiz, X или видеодрайвером.

Когда внутри Unity все медленно и в основном повреждено, чтобы перейти к TTY1, нажмите CTRL+ ALT+ F1. Находясь в терминале, введите имя пользователя и пароль, чтобы перейти к строке приглашения. Вы также можете попасть в TTY при загрузке, нажав ESCили удерживая SHIFT, затем в меню GRUB, выбрав режим восстановления.

  1. Установите Xorg Edgers PPA

    sudo add-apt-repository ppa:xorg-edgers/ppa sudo apt-get update
    

    В зависимости от вашей видеокарты вы можете установить серию 304, серию 310, серию 313 или любую новую, появившуюся там. Я рекомендую всегда тестировать последнюю версию, и только если она вызывает проблемы, переходите оттуда, пока не достигнете версии, где все работает правильно. Например, если у вас GT 9500 или более поздняя версия (как и в моем случае, к которому у меня также есть 440 GT, 560 TI и 680 GTX), единственной версией, которая решает все мои проблемы, является версия 313.18, вышедшая пару дней назад. , Так что я бы сделал это:

    sudo apt-get install nvidia-313
    

    Это позволит установить последнюю версию серии 313. Это исправляет МНОГО проблем с видео с compiz, unity и xorg. Серия 310 также исправляет многие проблемы, но не проверяла эту проблему с моими видеокартами. Другими версиями Nvidia являются nvidia-экспериментальный-304 и nvidia-экспериментальный-310 на момент написания этой статьи.

  2. Перезагрузитесь, чтобы проверить, не работает ли ваша видеокарта с Ubuntu. Если у вас возникли проблемы с конфигурационным файлом Nvidia, просто откройте терминал, введите sudo nvidia-xconfigи перезагрузите компьютер.

Есть и другие хорошие вопросы, которые также могут помочь, как:

Как я могу обновить свой драйвер NVIDIA?

Как мне установить драйверы Nvidia?

Не могу установить драйвер Nvidia

В чем разница между пакетами nvidia-current и nvidia-current-updates?

Или даже более общий: как правильно включить Desktop Cube в Unity 3D?

Луис Альварадо
источник
2

Если вы попробовали все вышеперечисленное и проблема с зависанием осталась, вы можете попробовать то, что я сделал.

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

Через несколько дней после очистки (я использовал CRC 2-26) и серии действительно жестоких стресс-тестов мой компьютер ни разу не зависал.

Таким образом, для всех вас, получающих внезапные неожиданные зависания, перестаньте возиться с вашей ОС сверх того, что разумно, и проведите исчерпывающую очистку от пыли и контактов.

PetaZeta
источник
2

Замените его на новейшее ядро ​​Linux 2.6.35 или выше, которое решит вашу проблему. Следуйте этим шагам по этой ссылке .

Tshilidzi Mudau
источник
Ах! Я сделаю это. Данное руководство предназначено для 2.6.34, но вы сказали, что мне нужно установить 2.6.35. Какой я должен сделать?
Джордан Пармер
Облом. Похоже, я уже установил его. uname -r раскрывает 2.6.35-24-generic
Джордан Пармер
1

У меня были похожие проблемы с 10.04. X зависал и ничего, кроме перезагрузки, не мог это исправить. Я обновил драйверы nvidia до последней версии, и с тех пор у меня не было проблем.

Джейсон Льюис
источник
Использование видеодрайверов ATI ... но, возможно, стоит разобраться. Спасибо!
Джордан Пармер
1

В конкретном случае вы используете Virtualbox для запуска 64-разрядного гостя на 32-разрядном (Ubuntu) хосте, используя только VT-x или AMD-V (технология аппаратной виртуализации, встроенная в ваш ЦП).

Virtualbox может вызвать случайный сбой 32-разрядного хоста при запуске на нем 64-разрядного гостя с использованием VT-x или AMD-V (технология аппаратной виртуализации, встроенная в ваш ЦП). Это известная проблема .

2 решения:

  1. Вы должны запускать 32-разрядные гостевые системы только на своем текущем 32-разрядном хосте [рекомендуется, если у вас менее 2 ГБ ОЗУ];
  2. Вы должны переключиться на 64-битную Ubuntu в качестве хоста (вы можете даже выполнить «миграцию» с 32-битной на 64-битную, переустановив 64-битную Ubuntu, не касаясь вашей папки «/ home») [рекомендуется, если у вас 2 ГБ ОЗУ или больше.

Обратите внимание, что вы можете без проблем запускать 64-битные и 32-битные гости на 64-битном хосте, используя Virtualbox.

Другие ответы очень хорошо охватили общие случаи ...

Golboth
источник