Как я сбегаю из зависающей Ubuntu ОС?

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

В Windows, когда эта ситуация происходит, я могу обычно выходить из нее путем нажатия Ctrl+Alt+Del для переключения в Диспетчер задач, который обычно вытаскивает меня из зависающей ситуации.

Так, я хотел бы знать: есть ли что-то, что я могу сделать с Ubuntu для выхода из зависающей ситуации (‌like нажатие Ctrl+Alt+Del on Windows)?

Обновление:

Acording @Grumpy_Old_Man информационный запрос:

Какой процессор Вы использование и какого возраста это. Существует известная проблема с ранними центральными процессорами Ryzen, которые зависают при низкой загрузке. bugzilla.kernel.org/show_bug.cgi?id=196683

Моя информация о ЦП:

$ cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 142
model name  : Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
stepping    : 9
microcode   : 0xca
cpu MHz     : 3278.317
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 22
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips    : 5808.00
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 142
model name  : Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
stepping    : 9
microcode   : 0xca
cpu MHz     : 3274.188
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 2
initial apicid  : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 22
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp
bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips    : 5808.00
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 2
vendor_id   : GenuineIntel
cpu family  : 6
model       : 142
model name  : Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
stepping    : 9
microcode   : 0xca
cpu MHz     : 3271.793
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 1
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 22
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips    : 5808.00
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 142
model name  : Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
stepping    : 9
microcode   : 0xca
cpu MHz     : 3285.540
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 3
initial apicid  : 3
fpu     : yes
fpu_exception   : yes
cpuid level : 22
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips    : 5808.00
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

И моя Информация о Ubuntu:

 hostnamectl
   Static hostname: so-notebook
         Icon name: computer-laptop
           Chassis: laptop
        Machine ID: 34a2eb65afa64d60a60ed02d972e884d
           Boot ID: 9ee34ad4bff84b908e8719ab83029836
  Operating System: Ubuntu 18.04.3 LTS
            Kernel: Linux 5.0.0-37-generic
      Architecture: x86-64

23
задан 17 December 2019 в 19:40

7 ответов

Вы можете установить короткий путь, чтобы открыть системный монитор в Ubuntu с сочетанием клавиш, которое Вы любите (в этом случае, Ctrl + Высокий звук + Del ).

Вы можете установить пользовательские короткие пути для пользовательского сочетания клавиш в Settings (между прочим, эти шаги для Ubuntu 18.04):

  1. Идут в Settings.
  2. Поиск короткие пути (только начинают вводить и это будет искать его).
  3. Теперь, нажмите на опции Keyboard и прокрутите вниз до конца.
  4. Щелкают +, знак и диалог подойдут.
  5. Вводят имя короткого пути, который может быть чем-либо, что Вы хотите (в этом случае, Вы можете написать Open System Monitor).
  6. Вводят имя команды (в этом случае, gnome-system-monitor).
  7. Щелкают короткий путь Набора ' опция и нажимают сочетание клавиш, которое Вы будете использовать, чтобы открыть Системный монитор (в этом случае, нажмите Ctrl , Высокий звук и Del одновременно после клика по опции).
  8. Последний, но не наименьшее, щелкните по Add, и будет создан пользовательский короткий путь.

Вы можете испытать короткий путь, нажав сочетание клавиш ( Ctrl + Высокий звук + Del ), Вы назначали на короткий путь.

12
ответ дан 21 December 2019 в 23:34

Наименее агрессивная опция состоит в том, чтобы использовать Ctrl + Высокий звук + F3 , чтобы переключиться на пульт.

От пульта, Вы можете исследовать то, что продолжает использовать инструменты, которые Вы обычно использовали бы, как top, htop, free, или spelunking через /proc и /sysfs файловые системы. Как только Ваше расследование определило преступника, Вы можете послать, делают то, что Вы должны исправить ситуацию.

, Например, если у Вас есть безудержный процесс, Вы можете попытаться послать его SIGTERM сигнал, используя kill -s TERM <PID>. Если это не работает, Вы можете быть более агрессивными и послать его SIGKILL сигнал, используя kill -s KILL <PID>.

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

, Если у Вас есть последовательный настроенный пульт, Вы можете зарегистрировать на пути последовательный терминал.

, Если Вы не можете добраться до пульта, у Ядра Linux есть особенность, названная" Волшебный Ключ SysRq ".

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

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

, Если у Вас нет отдельного ключа SysRq , это обычно - альтернативный режим ключа PrtScr , даже если это не маркировано. Если у Вас нет этого или, Вы должны будете искать его в руководстве Вашей клавиатуры или Вашего ноутбука.

Примечание, что ключи основаны на их scancodes на американской английской QWERTY-клавиатуре. Другими словами, Linux не знает, какое письмо напечатано на Вашем ключе, это только заботится о местоположение из ключа на клавиатуре. Если у Вас будет другая раскладка клавиатуры, то Вы должны будете использовать ключи в том же положении , как будто у Вас было американское английское расположение СТАНДАРТНОГО РАСПОЛОЖЕНИЯ БУКВ НА КЛАВИАТУРЕ.

Одна общая последовательность команды:

  • r : Переключите клавиатуру в режим XLATE от сырого режима (например, если Вы находитесь в настоящее время в графический интерфейсе пользователя, клавиатура, скорее всего, переключена на сырье и будет бесполезна в пульте).
  • e : Пошлите эти SIGTERM сигнал ко всем процессам кроме PID 1 (init). Это приятно попросит, чтобы все процессы закрыли себя.
  • †¦ ждут немного, чтобы дать всем процессам шанс закрыться в надлежащем порядке.
  • я : Пошлите эти SIGKILL сигнал ко всем процессам кроме PID 1 (init). Это будет очень не , приятно спрашивают все процессы, которые все еще бегут за предыдущим шагом, чтобы передать непосредственное самоубийство.
  • †¦ ждут немного
  • s : sync все в настоящее время установленные файловые системы. Это смоет кэш страницы и заблокирует кэш к диску.
  • †¦ ждут немного, чтобы позволить ядру Linux смывать все кэши к устройствам хранения данных и устройствам хранения данных, чтобы смыть все их внутренние кэши к среде; если Вы все еще имеете дисковые светодиоды деятельности в старинном стиле, ждете, пока деятельность не утихает
  • u : umount все в настоящее время установленные файловые системы, или скорее повторно устанавливают всю в настоящее время установленную файловую систему, только для чтения.
  • †¦ ждут немного
  • b : reboot или альтернативно o : shutdown

последовательность могла быть выписана как REISUB. Общая мнемосхема, чтобы помнить это является "Перезагрузкой Даже если Система, Крайне Сломанная".

41
ответ дан 21 December 2019 в 23:34

Удержание Высокого звука и SysRq (который является клавишей Print Screen), медленно вводя REISUB перезапустит Вас безопасно. REISUO сделает закрытие, а не перезапуск.

9
ответ дан 21 December 2019 в 23:34

Если Вы знаете программу, которая не отвечает, пойдите в раковину TTY CTRL + ВЫСОКИЙ ЗВУК + F4 тогда использует следующий скрипт, чтобы убить ту программу. Скопируйте код и сохраните его, поскольку exterminate.sh в /bin

#!/bin/bash

userName=$(whoami);
programName="$1";
main(){
    pidVar=$(top -n 1 -d 1 -b | grep -i "$programName" | cut -c -6 );
    kill $pidVar >& /dev/null;
    echo "killed all \"$programName\" instances.";
}

if [ "$userName" == "root" ] ; then main ; else echo "run as root" ; fi;

тогда делают исполняемый файл скрипта

sudo chmod +x /bin/exterminate.sh

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

, например, если бы, например, программа работы со сбоями transmission

sudo exterminate.sh transmission

, добился бы цели.

5
ответ дан 21 December 2019 в 23:34

, когда мои перегрузки PC, моя система Ubuntu висит

Для меня, это обычно означает исчерпывать оперативную память и начинать обмениваться в большой степени.

то, Что может помочь в этой ситуации, является Высоким звуком + SysRq + F комбинация, которая приказывает, чтобы система убила задачу, берущую большую часть памяти.

Вы должны будете включить ключ SysRq сначала, как объяснено в этом вопросе . Также некоторые ноутбуки требуют удержания ключ Fn одновременно.

5
ответ дан 21 December 2019 в 23:34

Нажмите ctrl+alt+f3, чтобы вступить в TTY. Оттуда это будет похоже на полный предельный опыт. Введите reboot/poweroff, и нажатие входят, и это должно решить Вашу проблему. Другое решение состояло бы в том, чтобы нажать ctrl+alt+f1, чтобы блокировать Вашего пользователя и пароль ввода снова, чтобы вступить в Ubuntu.

4
ответ дан 21 December 2019 в 23:34

Вы можете быть в состоянии использовать Ctrl + Высокий звук + Клавиша Backspace , чтобы убить X серверов.

1
ответ дан 21 December 2019 в 23:34

Другие вопросы по тегам:

Похожие вопросы: