Co powinienem zrobić, gdy Ubuntu zawiesza się?

609

Wszystkie systemy operacyjne czasami się zawieszają, a Ubuntu nie jest wyjątkiem. Co powinienem zrobić, aby odzyskać kontrolę, gdy ...

  • tylko jeden program przestaje odpowiadać?
  • nic nie reaguje na kliknięcia myszą lub naciśnięcia klawiszy?
  • mysz przestaje się całkowicie poruszać?
  • Mam procesor Intel Bay Trail?

W jakiej kolejności powinienem wypróbować różne rozwiązania, zanim zdecyduję się wyciągnąć wtyczkę?

Co powinienem zrobić, gdy uruchomienie Ubuntu kończy się niepowodzeniem? Czy istnieje procedura diagnostyczna, którą mogę wykonać?

ændrük
źródło
Powinieneś medytować i zacząć uczyć się systemu Windows lub MacOS! znacznie bardziej stabilny niż Linux.
Simple Fellow

Odpowiedzi:

420

Gdy pojedynczy program przestaje działać:

Kiedy okno programu przestaje odpowiadać, zwykle można go zatrzymać, klikając przycisk zamykania w kształcie litery X w lewym górnym rogu okna. Powoduje to na ogół wyświetlenie okna dialogowego z informacją, że program nie odpowiada (ale już o tym wiedziałeś), i przedstawia opcję zabicia programu lub kontynuowania oczekiwania na odpowiedź.

Czasami nie działa to zgodnie z oczekiwaniami. Jeśli nie możesz normalnie zamknąć okna, możesz nacisnąć Alt+ F2, wpisać xkilli nacisnąć Enter. Kursor myszy następnie przekształcić się w X . Najedź wskaźnikiem myszy na okno przestępstwa i kliknij lewym przyciskiem, aby je zabić. Kliknięcie prawym przyciskiem myszy anuluje i przywróci mysz do normy.

Z drugiej strony, jeśli twój program działa z terminala, zwykle możesz go zatrzymać za pomocą Ctrl+ C. Jeśli nie, znajdź nazwę i identyfikator procesu jego polecenia i powiedz programowi, aby zakończył jak najszybciej za pomocą kill [process ID here]. Wysyła domyślny sygnał SIGTERM( 15). Jeśli wszystko inne zawiedzie, jako ostateczności send SIGKILL( 9) kill -9 [process ID here]. Zauważ, że powinieneś używać go tylko SIGKILLw ostateczności, ponieważ proces zostanie natychmiast zakończony przez jądro bez możliwości czyszczenia. Nawet nie otrzymuje sygnału - po prostu przestaje istnieć.

(Zabijanie procesu kill -9zawsze działa, jeśli masz pozwolenie na zabijanie. W niektórych szczególnych przypadkach proces jest nadal wyświetlany przez pslub top(jako „zombie”) - w tym przypadku program został zabity, ale zapis w tablicy procesów jest zachowywany, ponieważ jest to potrzebne później).

Kiedy mysz przestaje działać:

Jeśli klawiatura nadal działa, naciśnij Alt+ F2i uruchom gnome-terminal(lub, jeśli się nie uruchomią, naciśnij Alt+ Ctrl+ F1i zaloguj się za pomocą nazwy użytkownika i hasła ). Stamtąd możesz rozwiązywać problemy. Nie będę tutaj zajmował się rozwiązywaniem problemów z myszą, ponieważ go nie badałem. Jeśli chcesz po prostu zrestartować GUI, uruchom sudo service lightdm restart. To powinno obniżyć GUI, które następnie spróbuje się odrodzić, prowadząc z powrotem do ekranu logowania.

Gdy masz procesor Intel Bay Trail

Zobacz https://askubuntu.com/a/803649/225694 .

Gdy wszystko, klawisze, mysz i wszystko przestaną działać:

Najpierw wypróbuj metodę Magic SysReq opisaną w odpowiedzi Phoenix . Jeśli to nie zadziała, naciśnij przycisk Reset na obudowie komputera. Jeśli nawet to nie działa, to po prostu trzeba zasilania cyklu maszyny.
Obyś nigdy nie osiągnął tego punktu.

koanhead
źródło
9
Niedawno odkryłem, że zamiast „ps $ options | grep $ nazwa_procesu”, o którym mowa powyżej, można po prostu wpisać „pgrep $ nazwa_procesu”, aby osiągnąć w przybliżeniu ten sam wynik (dla niektórych wartości $ options).
koanhead
@ Chan-Ho Suh Brak możliwości uruchomienia nie jest tak naprawdę „zamrożeniem”. Zajmujemy braku rozruchu w askubuntu.com/questions/162075/... . Czy masz na myśli zamrażanie przy logowaniu?
Jjed
4
Nigdy nie należy polecać kill -9od razu nietoperza. Raz należy zamiast tego spróbować najpierw zabić proces z mniej drastycznymi sygnałami i użyć -9, jeśli wszystko inne zawiedzie.
Scott Severance
Dlaczego REISUB jest przydatny, gdy system się zawiesił? Nie mogę znaleźć opcji w REISUB, która może odzyskać kontrolę nad moją własną, oprócz ponownego uruchomienia. Dziękuję ~
sam
1
sudo service lightdm restart: Nie niesamowite - zabije wszystkie procesy GUI w Ubuntu co najmniej 13.04 - dla mnie, które obejmowały uruchomienie maszyn wirtualnych itp .:(
Stephen
478

Jeśli całkowicie się zablokuje, możesz go PONOWNIE WYSTAWIĆ, co jest bezpieczniejszą alternatywą dla zwykłego ponownego uruchamiania komputera.

REISUB przez:

Przytrzymując Alti SysReq (Print Screen)klawisze, wpisz 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 jest BIZNESOWY wstecz, jak w „System jest bardziej obciążony niż powinien”, jeśli trzeba o nim pamiętać. Lub mnemonicznie - R eboot; E ven; I f; S ystem; U tterly; B roken.

To jest klucz SysReq:

Klucz SysReq

UWAGA: Istnieje mniej radykalny sposób niż ponowne uruchomienie całego systemu. Jeśli SysReqklucz działa, możesz zabijać procesy pojedynczo za pomocą Alt+ SysReq+ F. Jądro za każdym razem zabija przeważnie «kosztowny» proces. Jeśli chcesz zabić wszystkie procesy dla jednej konsoli, możesz wydać Alt+ SysReq+ K.

UWAGA: Należy wyraźnie włączyć te kombinacje klawiszy. Ubuntu jest dostarczane z domyślnym ustawieniem sysrq 176 (128 + 32 + 16), który pozwala na uruchamianie tylko części SUB kombinacji REISUB. Możesz go zmienić na 1 lub, co jest potencjalnie mniej szkodliwe, 244. Aby to zrobić:

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

i przełącz 176 na 244; następnie

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

Od razu zadziała! Możesz to przetestować, naciskając Alt+ SysReq+ F. Dla mnie zabił aktywną kartę przeglądarki, a następnie wszystkie rozszerzenia. Jeśli będziesz kontynuować, możesz ponownie uruchomić X Server.


Więcej informacji na temat wszystkich funkcji Alt+ tutaj .SysReq

Phoenix
źródło
107
Jeśli musisz to zrobić, zrób to powoli. Poczekaj kilka sekund między każdym naciśnięciem klawisza, aby komendy, które wywołujesz, miały szansę zakończyć przed przejściem do następnego.
Andrew Lambert,
24
Jeśli podoba Ci się mnemonika: Raising Elephants jest tak całkowicie nudny, lub zrestartuj zdarzenie, jeśli system jest całkowicie zepsuty. Widziałem to również jako RSEIUB (Raising Skinny Elephants jest całkowicie nudny).
Siegfried Gevatter
12
Właściwie to wymyśliłem ten i staram się zapamiętać w ten sposób: „Resetuj środowisko systemowe w UBuntu”. lub „Resetuj środowisko w systemie UBuntu”.
Luis Alvarado,
3
Co robisz, jeśli używasz komputera Mac bez klucza SysRq?
Cerin,
63

Możesz zrobić skrót Ctrl+ Alt+ Deleteotwórz Monitor systemu , za pomocą którego możesz zabić niereagujące aplikacje.

  1. Otwórz System ferences Preferencje ➜ Skróty klawiaturowe i kliknij Dodaj .
    W polu Polecenie wpisz gnome-system-monitor. Nazwij skrót, jak chcesz.

wprowadź opis zdjęcia tutaj

  1. Kliknij Zastosuj, a następnie kliknij tam, gdzie jest napisane Wyłączone . Teraz naciśnij klawisze Ctrl+ Alt+Delete

wprowadź opis zdjęcia tutaj

  1. Zamknij skróty klawiaturowe i wypróbuj skrót:

wprowadź opis zdjęcia tutaj

Alvin Row
źródło
6
ale jeśli X blokuje się całkowicie lub nawet jądro jest zawieszone, nie można wiele zrobić za pomocą skrótu klawiaturowego.
ζ--
23
Niestety, Monitor systemu jest bardzo obciążający procesor. Zwykle zużywa do 20% mojego procesora, więc jeśli komputer jest ugrzęznięty, uruchomienie SM spowoduje jedynie szybsze zmiażdżenie go w błoto.
Cerin,
3
Jeśli możesz otworzyć Monitor systemu, możesz dostać się do terminala, w którym to przypadku twój system operacyjny nie jest zawieszony.
nbm
2
Monitor systemu nie jest niestety zaufanym Menedżerem zadań w systemie Windows. Jak wspomniano powyżej, uruchomi się tylko wtedy, gdy (jak na ironię) Ubuntu nie zostanie zamrożone. A nawet jeśli tak, to i tak nie odpowiada.
ksoo
47

Zawieszenia, takie jak opisane, mogą być związane zarówno z oprogramowaniem, jak i sprzętem, a zdiagnozowanie czasami jest frustrująco trudne.

Sprzęt komputerowy

Jeśli jest to komputer stacjonarny, spójrz na swoje karty sprzętowe. Zarówno w przypadku laptopów, jak i komputerów stacjonarnych możliwe problemy z typem acpi.

Przydatne może być tymczasowe uproszczenie konfiguracji, tak aby karta graficzna była połączona ze standardową klawiaturą i myszą. Wszystkie pozostałe karty powinny zostać usunięte.

W przypadku problemów związanych z acpi spróbuj uruchomić z noapic nomodesetopcją grub boot. Warto również spróbować, acpi=offchociaż może to mieć inne niepożądane skutki, takie jak stałe użycie wentylatora.

Warto również sprawdzić poziom wersji bios i sprawdzić, czy sprzedawca ma nowszą wersję bios. Miejmy nadzieję, że notatki Readme powinny ujawnić, czy jakakolwiek nowsza wersja naprawiła awarie i zawiesza się.

Oprogramowanie

Zauważyłem, że wypróbowałeś standardowe sterowniki 270, ale nie powiodło się z powodu zawieszenia. Czy możesz wyjaśnić, czy miałeś podobne problemy ze sterownikiem open source? Oczywiście nie uzyskasz Unity podczas testowania tego.

Zamrażanie grafiki może być jednym z / lub kombinacji sterownika / compiz / X / kernel

Jeśli chcesz wypróbować dowolną z poniższych sugestii, najpierw wykonaj kopię zapasową systemu za pomocą dobrego narzędzia do tworzenia kopii zapasowych, takiego jak CloneZilla. Potrzebne będzie zewnętrzne urządzenie multimedialne, aby otrzymać obraz, taki jak duża pamięć USB / dysk lub oddzielny wewnętrzny dysk twardy.

Instalowanie nowszego sterownika nVidia

Dezaktywuj (odinstaluj) bieżący sterownik 173-nvidia za pomocą okna Dodatkowe sterowniki.

Istnieje niewielka liczba ważnych poprawek przede wszystkim w stabilizacji 275, ale niewielka liczba również w 280beta, która naprawiła zawieszanie się - warto sprawdzić, czy dotyczą one twojej karty graficznej. Niestety nvidia nie szczegółowo opisuje, które karty konkretnie naprawiają (readme.txt)

Jednak - zdecydowanie zaleciłbym wykonanie kopii zapasowej, chyba że masz pewność co do cofnięcia instalacji nvidii - zwłaszcza, że ​​miałeś poważne problemy z nieco starszymi sterownikami 270. Używałem clonezilli niezliczoną ilość razy i zawsze wyciągało mnie to z kłopotów. Potrzebny jest jednak duży dysk zewnętrzny - pamięć USB / dysk zewnętrzny lub osobny dysk.

X Aktualizacje

Najnowsze sterowniki graficzne zostały spakowane w ppa aktualizacji x .

Uwaga - spowoduje to odejście od standardowej linii bazowej - jeśli uaktualnisz w przyszłości ppa-purgesamą PPA przed aktualizacją.

Możesz także ręcznie zainstalować sterowniki z nVidii:

Spróbuj zainstalować najnowsze sterowniki NVIDIA stabilne 275 lub 280 - sterowniki 32 - bitowe 280: strona ftp i sterowniki 64 - bitowe: 280: strona ftp

Żeby zainstalować

CTRL+ ALT+, F1aby przejść do TTY1 i zalogować się

sudo service gdm stop

Aby zatrzymać serwer X.

sudo su

Aby uruchomić jako root

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

Aby zainstalować sterownik 32-bitowy (equiv dla 64-bitowego), a następnie uruchom ponownie.

Aby odinstalować

sudo sh NVIDIA* --uninstall

Usuń także /etc/X11/xorg.conf

X / Kernel / Compiz

Jeśli uruchamiasz klasyczne Ubuntu z efektami, czy masz takie same problemy z zawieszaniem jak standardowe Ubuntu? Jeśli nie możesz odtworzyć zamrożenia za pomocą klasycznego Ubuntu (bez efektów), to skieruje Cię w stronę problemu z kompizowaniem. Z zespołem Compiz podniosę raport o błędzie startera.

Jeśli dostępna jest przestrzeń (np. 20 Gb), możesz uruchomić / uruchomić podwójnie obok najnowszej wersji oneiric alpha. Oczywiście samo to będzie niestabilne, ale będzie dostarczane z najnowszym X i jądrem. Może być konieczne ręczne zainstalowanie powyższych sterowników karty graficznej beta 280, ponieważ prawdopodobnie nie będzie oferowana w oknie Dodatkowe sterowniki.

Jeśli podczas testowania nie widzisz tej samej aktywności zamrażania, możesz spróbować ulepszyć swoją wersję X za pomocą ppa x-edger i używając jądra jądra 3.0 w Natty. Wybranie tej trasy nie jest tak naprawdę pożądane - i może spowodować problemy z aktualizacją w przyszłości - i może mieć inne nieprzewidziane problemy ze stabilnością. Ponownie użyj, ppa-purgeaby usunąć PPA.

Jądro 3.0 jest dołączone do PPA - musisz zainstalować nagłówki, a także samo jądro z synaptycznego PRZED ponownym uruchomieniem, jeśli zamierzasz zainstalować dysk NVIDIA później.

To jest testowy ppa - przygotuj kopię zapasową, jeśli chcesz wypróbować tę trasę.

fossfreedom
źródło
... Czy jesteś pewien, że to dobry pomysł i że może rozwiązać problem? Czy to tylko zgadywanie? Ponieważ miałem dużo problemów z prądem nvidia i nic nie działało ... Właśnie dlatego przełączyłem się na nvidia-173. Czy mogę po prostu przywrócić cały system z kopii zapasowej CloneZilla? Problem polega na tym, że nie mam już zapasowego dysku twardego, aby umieścić kopię systemową ...
RobinJ
Spróbuję ... Chociaż nie mam dysku twardego, aby wykonać kopię zapasową, więc mam tylko nadzieję, że nie zepsuje całego mojego systemu. O czuję się niekomfortowo przy użyciu oprogramowania w wersji beta: Pracuję obecnie na Ubuntu 11.10 Alpha 3 xD Ale do pracy używam Ubuntu 11.04, ponieważ nie potrzebuję ciągłych błędów i czasami ulega awarii podczas tworzenia strony internetowej lub czegoś podobnego: p
RobinJ
Och droga xD Zainstalowałem sterownik NVidia-275 i uruchomiłem ponownie. X już się nie zaczął. Nie ma problemu, po przejrzeniu plików dziennika zauważyłem, że inny sterownik już korzysta z urządzenia. Dodałem nouveau do czarnej listy modprobe, uruchomiłem ponownie, a X znów zaczął ... Ale teraz mam inny problem ... Widzę interfejs Unity, a potem wszystko po prostu się zawiesza: p Mogę przełączyć się na tty i uruchamiać polecenia i wszystko, ale wygląda na to, że Unity i menedżer okien / dekorator uległy awarii. Nie mogę przejść z powrotem do panelu gnome (i szczerze mówiąc, nie chciałbym), ...
RobinJ
... jak go zabiłem kilka tygodni temu (celowo, ponieważ działał razem z Panelem Jedności z jakiegoś dziwnego powodu: p). I nie mów mi, żebym używał Unity 2D, proszę, ponieważ nie działa to dla mnie zbyt dobrze i łatwo. W rzeczywistości Unity jest jedynym powodem, dla którego wciąż instaluję sterowniki nie otwarte. Więc proszę pomóż mi? xD
RobinJ
... już to zrobiłem, z wyjątkiem ponownego włączenia secesji, ponieważ nie widzę tego zastosowania. Ale chciałem pomóc w rozwiązaniu problemu zamrażania.
RobinJ
38

Jeśli masz dużo zawieszeń, może być coś nie tak z twoim sprzętem. Zwykle uzyskiwałem blokadę co 48 godzin z powodu mniej niż optymalnej pamięci RAM. Memtest86 + pokazał błąd po 40 minutach testowania. Wymieniłem trochę pamięci RAM na więcej (w ramach gwarancji) i mam teraz 32 dni, 1 godzinę bezczynności.

Ubuntu nie ma tendencji do wyciekania z wnętrza pamięci, tak jak Windows może z czasem. Nawet jeśli działa jedna aplikacja lub kiepski sterownik wideo X, możesz bardzo łatwo zrestartować LigthtDM i po prostu kontynuować pracę. Właściwie przeszedłem przez trzy wersje beta sterownika NVIDIA w tym jednym rozruchu :)

W każdym razie ... Mimo że umiejętność miękkiego restartowania jest bardzo przydatna, znalezienie, zgłoszenie i naprawa systemu powinno być twoim kolejnym priorytetem. Jeśli jest to system zawsze włączony, powinieneś być w stanie łatwo przechodzić między aktualizacjami jądra * bez konieczności restartowania.

* Powinieneś zrestartować się po otrzymaniu aktualizacji jądra, ponieważ będą to poprawki bezpieczeństwa, które nie zostaną zastosowane, dopóki nie uruchomisz się ponownie w nowszym jądrze.

Oli
źródło
1
Zgadzam się, że RAM jest zwykle winowajcą dla niestabilnych systemów. Kiedyś miałem problem, którego Memtest86 + nie mógł znaleźć, ale mogłem go uruchomić wielokrotnie w ciągu 5 minut, uruchamiając wielokrotnie sha1sumy na bardzo dużych plikach (sumy kontrolne zmieniane co jakiś czas). To również zostało naprawione poprzez zmianę kart pamięci. Innymi częstymi przyczynami są niestabilne źródło zasilania lub słabe kondensatory na płycie głównej. Jedynym sposobem na zdiagnozowanie tych problemów jest ciągła wymiana części, dopóki nie zadziała.
Mikko Rantalainen,
1
+1 za memtest86. Pamięć RAM może być wadliwa bez zauważenia jej w codziennym użytkowaniu.
jmiserez
31

Kiedy wszystko przestanie działać, najpierw spróbuj Ctrl+ Alt+, F1aby przejść do terminala, gdzie prawdopodobnie możesz zabić X lub inne problemy.

Jeśli nawet to nie zadziała, spróbuj przytrzymać wciśnięty Alt+ SysReqpodczas naciskania (powoli, z kilkoma sekundami między nimi) R E I S U B.

To przełącza klawiaturę w tryb nieprzetworzony, kończy zadania w różnych stanach, synchronizuje dyski itp. I wreszcie ponownie uruchamia maszynę. Dzięki temu uzyskasz znacznie lepsze wyniki niż tylko wyciągnięcie wtyczki. Oczywiście, jeśli to się nie powiedzie, możesz prawie wyciągnąć wtyczkę.

Octavian Damiean
źródło
9
Sposobem na zapamiętanie „REISUB” jest „Uruchom ponownie, nawet jeśli system jest całkowicie uszkodzony”.
Matthew Crumley,
6
lub „Wychowywanie słoni jest tak nudne”: P
Axel
6
Pamiętam, jak używałem „BUSIER” Backwards
Nerdfest,
4
Pomiędzy Ctrl+ Alt+ F1a próbą zabicia procesów, a Alt+ SysRq+ R E I S U B, warto naciskać Ctrl+ Alt+ Delete. Jeśli udało Ci się dostać do wirtualnej konsoli tekstowej (po naciśnięciu Ctrl+ Alt+ F1), praktycznie zawsze spowoduje to ponowne uruchomienie komputera.
Eliah Kagan
Znacznie bardziej dosadnie i po hiszpańsku: REInicia SUBnormal
Ramon Suarez
30

Czasami po prostu zawiesza się X-Server - przypadek, który najczęściej znajdowałem, gdy używasz Compiz.

W takim przypadku możesz zabić X, który uruchomi się ponownie i upuści cię z powrotem na ekranie logowania.

Domyślna sekwencja to Ctrl+ Alt+Backspace

Chociaż jest to domyślnie wyłączone (prawdopodobnie nowi użytkownicy przypadkowo go uderzyli) i można je ponownie włączyć w następujący sposób:

  1. SystemKeyboard(tj. Dialog preferencji klawiatury)
  2. układy Zakładka
  3. Kliknij przycisk Opcje
  4. W Sekwencji klawiszy, aby zabić punkt X serwera, zaznacz Ctrl+ Alt+Backspace .
Thomas Michael Wallace
źródło
3
Jeśli sterownik wideo korzysta z ustawień trybu jądra (KMS), jest mało prawdopodobne, że będzie to wystarczające do naprawienia blokowania się, musisz użyć sysrq lub cyklu zasilania. (Wypróbuj CAB, to oczywiście nie zaszkodzi; działa, gdy aplikacja (jak compiz / unity) utknęła, a nie sama X, jednak inne odpowiedzi na tej stronie byłyby lepsze w tym przypadku). Ale kiedy to nie działa, teraz wiesz, dlaczego. :-)
Bryce
Uwaga dla nowych użytkowników na temat usługi zarządzania kluczami: Zasadniczo, jeśli używasz sterownika binarnego (prawdopodobnie jeśli masz kartę graficzną nVidia, a czasami jeśli masz kartę ATI), sterownik wideo nie używa KMS.
thomasmichaelwallace
Nie mogę tego znaleźć w Ubuntu 14.04. Kiedy idę do Ustawienia> Klawiatura, zakładki to tylko Pisanie i Skróty. Właśnie przejrzałem wszystkie skróty i nie mogłem znaleźć „Sekwencji klawiszy, aby zabić serwer X”. Czy nadal mogę to zrobić 14.04?
Andy,
28

Mój pierwszy ulubiony, gdy wystąpiło całkowite zamrożenie - Alt+ SysRq+ K.

Ta kombinacja zabija X i powoduje powrót do graficznego ekranu logowania. Jeśli to nie zadziała, spróbuj Alt+ SysRq+ R E I S U B.

Octavian Damiean
źródło
18

W takich przypadkach możesz spróbować CTRL- ALT- F1dostać się do konsoli. Następnie zaloguj się za pomocą hasła.

Ponowne uruchamianie GUI

Możesz spróbować ponownie uruchomić pulpit graficzny za pomocą:

sudo service lightdm restart

Jeśli korzystasz z systemu Ubuntu 11.04 lub wcześniejszego , powinieneś użyć tego (tak jak gdmkiedyś był to domyślny menedżer wyświetlania):

sudo service gdm restart

Jeśli zamiast tego używasz Kubuntu, domyślnym menedżerem wyświetlania jest kdm, więc powinieneś zamiast tego użyć:

sudo service kdm restart

Jeśli używasz innego menedżera wyświetlania, zastąp ligthdm/ gdm/ kdmjego nazwą.

Ponowne uruchomienie urządzenia

Jeśli chcesz wykonać czysty restart systemu, użyj:

sudo shutdown -r now
Eliah Kagan
źródło
17

DoR i Phoenix dobrze na to odpowiedzieli. Aby uzupełnić tę stronę, dodałbym:

Jeśli tylko X jest „zepsuty”, możesz użyć jądra, aby go zabić:

SysRq+ Alt+K

W przypadku laptopów (zależy od modelu, zwykle potrzebny, jeśli „SysRq” jest napisany na niebiesko):

Fn+ SysRq+ Alt+ K(zwolnij Fnpo naciśnięciu SysRq).

desgua
źródło
FWIW to zależy od laptopa - na moim ThinkPad Alt + SysRq nie wymaga Fn ani Ctrl.
Marius Gedminas
1
Sekwencja naciskania klawiszy jest tutaj dokładnie opisana (Fora Ubuntu: ubuntuforums.org/showthread.php?p=11773367#post11773367 ), szczególnie w przypadku laptopów, na których klawisz Fn robi różnicę. Musiałem podążać za tym na moim Lenovo Ideapad - najpierw przytrzymaj „Fn” lewą ręką, naciśnij Alt + SysRq w prawo, zostaw „Fn” i kontynuuj powoli REISUB.
Chethan S.
16

To, co robię, to otwieranie terminala np. Ctrl+ Alt+F2

Zaloguj się i użyj terminala, aby zabić opóźniony proces

ps -e | grep <procesname>

Pokazuje identyfikator procesu o tej nazwie

(sudo) kill <processID>

To bezpiecznie zamyka proces, na wypadek, gdyby to nie zadziałało

(sudo) kill -9 <processID>

Skorzystaj ze stron man, aby uzyskać więcej informacji na temat tych poleceń.

Możesz wrócić do graficznego interfejsu użytkownika za pomocą Ctrl+ Alt+F7

Chielus
źródło
8
psi grep PROCESSmoże zostać zastąpione przez pgrep PROCESSpołączenie, a cała twoja rzecz może być po prostu zastąpiona przez pkill PROCESSlub killall PROCESS.
Martin Ueding
dzięki, nie wiedziałem tego. Wydaje się, że to także komendy UNIX, fajnie
Chielus,
Jednak domyślnym zachowaniem pgrepnie jest pokazywanie niczego poza samym identyfikatorem procesu. Jeśli chcesz poznać pełną nazwę procesu i wszelkie inne informacje, psnadal jest to bardzo cenne narzędzie.
Eliah Kagan
13

Aby zdiagnozować zawieszanie się, powinieneś być w stanie użyć konsoli sieciowej (lub szeregowej konsoli szeregowej w tym przypadku). Postępuj zgodnie z instrukcjami konfiguracji opisanymi tutaj .

Li Lo
źródło
Dam temu szansę i odeśle wyniki.
Jordan Parmer,
To działało jak mistrz. Zidentyfikowałem problem jako moją kartę graficzną: „radeon .... rezerwa nie powiodła się”. Teraz wiem, czego szukać.
Jordan Parmer
13

Pierwszą rzeczą, na którą należy zwrócić uwagę, jest to, czy zamrożony jest tylko X lub cały system. Włącz ssh, a następnie ssh w systemie. Jeśli nie możesz w nią ssh, to prawdopodobnie jest to blokada jądra. Jeśli można ssh w, to może być tylko blokadaup GPU.

Następnie spróbuj ponownie uruchomić X. Zrób to ponownie, uruchamiając menedżera wyświetlania:

  • W systemie Ubuntu 11.10 i nowszych LightDM jest menedżerem wyświetlania, więc uruchom:

    service lightdm restart
    
  • Na Ubuntu 11.04 i wcześniejszych GDM jest menedżerem wyświetlania, więc uruchom:

    service gdm restart
    

Jeśli to zadziała, być może jest to błąd X. Jeśli nadal nie działa, możesz mieć blokadę GPU w sterowniku drm jądra. Przydałoby się wiedzieć, czy korzystasz ze sterownika -ati (open source), czy -fglrx (close source).

Bryce
źródło
1
Dzięki! Mój pulpit również zawiesza się losowo. Uruchomienie „service gdm restart” zawsze wywołuje to. W większości przypadków wydaje się, że pulpit zawiesza się, gdy Firefox jest uruchomiony. Wszelkie pomysły na to, jak mogę to debugować / naprawić?
suhridk
Cóż, ogólnie rzecz biorąc, kiedy używam słowa „losowy” w opisie błędu, traktuję to jako wskazówkę, że muszę zrobić coś więcej, aby lepiej scharakteryzować błąd. Na przykład, jak często to się zdarza, czy są jakieś rzeczy, które wydają się bardziej prawdopodobne, aby wywołać to niż inne, jeśli jakieś inne objawy występują w połączeniu itp.
Bryce
Powinieneś także wziąć pod uwagę swój sprzęt i sterownik. Niektóre sterowniki, takie jak -intel, częściej mają błędy zamrażania niż inne sterowniki, takie jak -ati. Sprzęt może również odgrywać pewną rolę, na przykład umieszczając wysokiej klasy kartę ATI w pudełku ze szkicowym zasilaczem. Zła pamięć RAM, wadliwe płyty główne, przegrzanie, nieregularności zasilania itp. Mogą powodować zawieszanie się.
Bryce
Przeglądając innych komentujących na tej stronie, możesz zobaczyć sugestie na całej mapie. Zamrożenia są niestety częstym skutkiem wielu różnych problemów. Mogą to być oprogramowanie, sprzęt lub ich kombinacja. Dlatego niezwykle ważne jest, aby pierwotny reporter przedstawił jak najbardziej szczegółowy i dokładny raport. Z tego powodu dwie osoby doświadczające podobnego zamrożenia naprawdę muszą być traktowane jako całkowicie osobne błędy, chyba że ich HW i SW są dokładnie takie same.
Bryce
Zawieszenia w różnych sterownikach są debugowane na różne sposoby. Na przykład -intel ma zestaw narzędzi do debugowania, które można zainstalować, które pozwalają przechwytywać zrzuty GPU. Szczegółowe informacje można znaleźć na stronie wiki.ubuntu.com/X/ Rozwiązywanie problemów/Freeze .
Bryce
11

Jeśli musisz dokonać twardego zamknięcia, zastanawiałbym się, czy pamięć (RAM) nie działa. Przy następnym uruchomieniu spróbuj uruchomić memtest86. Aby to zrobić:

  • podczas uruchamiania przytrzymaj klawisz Shift
  • pojawi się menu GRUB
  • użyj klawiszy kursora, aby wybrać ostatnią opcję „memtest86”
  • naciśnij enter

Otrzymasz podstawowy ekran, który spróbuje odczytać i zapisać wiele wartości do całej pamięci RAM. Dopóki nie wystąpią awarie, zobaczysz zielony status. Jeśli wystąpi jakaś awaria, zmieni kolor na czerwony. W takim przypadku musisz wymienić przynajmniej jedną pamięć RAM.

Istnieje również dokumentacja społeczności dotycząca diagnozowania awarii sprzętu .

Hamish Downer
źródło
9

Jeśli kiedykolwiek użyjesz magicznego SysRqklawisza, jak sugerowano w pierwszej odpowiedzi, po prostu spróbuj najpierw uruchomić klawiaturę z Alt+ SysRq+ R; następnie spróbuj Ctrl+ Alt+ F1jeszcze raz.

Może działać i możesz zaoszczędzić sobie na ponownym uruchomieniu. Tylko jeśli to nie działa, powinieneś wypróbować całą sekwencję REISUB .

Octavian Damiean
źródło
8

Wystarczy nacisnąć Ctrl+ Alt+ F1na klawiaturze, aby otworzyć TTY1. Kiedy się otworzy, uruchom polecenie Kill. Przykład poniżej.

najpierw użyjesz: ps to pokaże wszystkie uruchomione procesy („ps | less”, jeśli chcesz zobaczyć wyniki strona po stronie). Następnie poszukaj PID procesu, który chcesz zakończyć. Po tym użyciu: kill pid

polecenie kill - Zatrzymaj uruchamianie procesu

Składnia: kill [-s sigspec] [-n signum] [-sigspec] specspec lub pid kill -l [exit_status]

Opis: Większość nowoczesnych pocisków, w tym Bash, ma wbudowaną funkcję zabijania. W Bash zarówno nazwy sygnałów, jak i numery to

akceptowane jako opcje, a argumentami mogą być identyfikatory zadań lub procesów. Status wyjścia można zgłosić za pomocą opcji -l: zero, gdy co najmniej jeden sygnał został pomyślnie wysłany, niezerowe, jeśli wystąpił błąd. Używając polecenia kill z / usr / bin, twój system może włączyć dodatkowe opcje, takie jak możliwość zabijania procesów innych niż własny identyfikator użytkownika i określanie procesów według nazwy, na przykład pgrep i pkill. Oba polecenia zabicia wysyłają sygnał TERM, jeśli nie zostanie podany.

Źródło: http://www.linuxforums.org/forum/newbie/53976-end-tasks-linux-like-task-manager-windows.html

Źródło: http://webtools.live2support.com/linux/kill.php

Mitch
źródło
1
Co powiesz na to, że nie jestem pewien, czy pid powoduje zawieszenie się mojego systemu? Może istnieć wiele procesów zakłócających się wzajemnie, powodujących zawieszenie się systemu. Czy mógłbyś wyjaśnić, jak sobie poradzić w takim przypadku ...
Rohit Bansal
Dlaczego głosowanie w dół? Po prostu będę wiedział, co jest nie tak :)
Mitch
Używając górnego polecenia na konsoli, często możesz zobaczyć, który proces się zawiesił, sprawdzając kolumnę cpu%. Następnie możesz zabić ten proces.
Floyd
Jakie polecenie? ps
Mitch
miałem na myśli polecenie „top” z konsoli.
Floyd
5

Myślę, że nie ma czegoś takiego jak idealna dystrybucja, nawet w Windows mają ten ekran śmierci.

  • Otwórz kolejny terminal Ctrl+ Alt+ F2.

  • Zaloguj się przy użyciu nazwy użytkownika i hasła.

  • Wydaj to polecenie:

    sudo /etc/init.d/gdm restart
    

    Spowoduje to ponowne uruchomienie lub wylogowanie z bieżącej sesji, ale nie uruchomi się ponownie.

Następnie Ctrl+ Alt+ F7wróć do interfejsu graficznego.

dsaint
źródło
5

(Odpowiedź wiki społeczności - rozwiązanie zostało pierwotnie pochowane w pytaniu PO )

ROZWIĄZANIE:

Rozwiązałem to.

Moim szczególnym problemem była moja karta graficzna (zintegrowana seria Radeon 9000). netconsole ujawnił byłem coraz błąd: "reserve failed for wait". Po wykonaniu prób i błędów ręcznie skonfigurowałem kartę graficzną i wyłączyłem przyspieszenie sprzętowe. Całkowicie naprawiono problem.

Oto co zrobiłem:

Ręcznie utworzone xorg.conf

Ubuntu automatycznie konfiguruje xorg.conf i nie używa pliku. Aby edytować ten plik, musisz powiedzieć Ubuntu, aby go utworzył, a następnie edytować. Oto kroki:

  1. Uruchom ponownie system
  2. Trzymaj Shiftjak buty GRUB
  3. Wybierz terminal główny w menu logowania GRUB
  4. Wykonać: X -config xorg.conf.new
  5. Kopiuj: cp xorg.conf.new /etc/X11/xorg.conf

Wyłącz przyspieszenie sprzętowe

Poniższe informacje dotyczą mojej karty Radeon, ale jestem pewien, że inne karty mają podobny układ.

  1. Edytować xorg.conf
  2. Znajdź sekcję „Urządzenie” dla karty graficznej
  3. Odznacz opcję „NoAccel” i ustaw na „True”
  4. Zapisz + uruchom ponownie

Mam nadzieję, że to pomaga.

fossfreedom
źródło
4

Najprostszym rozwiązaniem jest dodanie apletu „Force Quit” do górnego panelu Gnome, a gdy program nie odpowiada, kliknij przycisk force quit, a następnie aplikację.

Jestem zaskoczony tyloma odpowiedziami, o których nie wspomniano. Oczywiście, zawsze można zrobić ps -Ai że do rury grepo podanie nazwy programu. I kill -9to Wolę prostotę.

Lakshman Prasad
źródło
To już nie jest opcja w Unity lub GNOME 3, prawda?
Waldir Leoncio,
4

Zawsze możesz zrobić Alt+ F2i napisać killall <program>lub xkillkliknąć okno, które chcesz rozbić!

Konstapel Kask
źródło
4

Moje ubuntu jest bardzo podatne na zamarzanie (prawdopodobnie 20 nieparzystych razy dziennie). Używam też magicznego klucza sysrq, ale zamiast go używać do restartowania lub zabijania xserver, używam polecenia „f”, które wywołuje oom_kill, skutecznie przerywając proces. Tylko kiedykolwiek widziałem te upuszczające chromowane zakładki (ponieważ mam tendencję do tego, aby otwierać jednocześnie kilka całkiem ciężkich). Tak czy inaczej, to mnie wyciąga z tego bałaganu przez 95% czasu.

Więc kiedy moje Ubuntu zawiesza się (blokuje się, mysz przestaje reagować itp.), Przytrzymuję alt+, sysrqa następnie uderzam f(jeśli nie zrobisz tego poprawnie, zamiast tego zrobi zrzut ekranu). Zazwyczaj muszę powtarzać to połączenie kilka razy, zanim ubuntu powróci do życia.

Dawno temu zrezygnowałbym z Ubuntu, gdybym tego nie odkrył, mam nadzieję, że to komuś pomoże!

unohoo
źródło
3

Naciśnij Alt+, F2aby uruchomić polecenie. Wpisz xkilli naciśnij Enter.

Kursor myszy zmieni się w krzyż, który może zmusić do zamknięcia każdego klikniętego okna.

Jeśli ktoś może dostarczyć zrzut ekranu, myślę, że byłoby to przydatne.

Agmenor
źródło
nie działa, ponieważ pulpit jest zamrożony
Floyd
3

Po przejściu do widoku TTY możesz uzyskać dodatkowe informacje. Naciśnij Ctrl+ Alt+, F1aby uzyskać to, użyj Ctrl+ Alt+ F7(lub może F8), aby wrócić do GUI. Możesz mieć różne sesje na większości klawiszy F, ale to zupełnie inne pytanie.

Skizz
źródło
Próbowałem tego, ale cały system jest zablokowany. Klawiatura całkowicie nie reaguje.
Jordan Parmer
2

jeśli to możliwe, spróbuj otworzyć powłokę ssh z innego komputera. jest to opcja Jeśli wcześniej wiedziałeś, że komputer może się zawiesić, najpierw otwórz połączenie, zanim wykonasz to zadanie.

Robię to czasami, gdy wiem, że vmware działa szalenie, a GUI Ubuntu (host vmware) przestaje odpowiadać. Mogę wykonać zawieszenie z powłoki ssh, może minąć trochę czasu, zanim się przełączy, a po chwili komputer znów będzie bezczynny.

knb
źródło
Lepszym pomysłem byłoby przejście na inny TTY (bez GUI), naciskając Ctrl + Alt + F [1-6], gdzie F[1-6]jest F1, F2, ..., F6. Jest to szczególnie przydatne, jeśli połączenie sieciowe jest intensywnie używane. (aby wrócić, użyj Ctrl + Alt + F7. Jeśli F7 nie zadziałało, zamień F7 na F8.
Lekensteyn 30.04.11
Jasne, ale zawsze zapominam o tych kluczowych kombinacjach. A kiedy wiem, że muszę przeprowadzić pewne zadania / eksperymenty, w których komputer może się zawiesić, zawsze jest wygodny dostęp do drugiego komputera dostępnego tuż obok wiszącego.
knb
W przypadku niektórych eksperymentów zalecana jest maszyna wirtualna w VirtualBox. W ten sposób możesz łatwo przywrócić stan maszyn.
Lekensteyn
2

Wystąpiły pewne pominięte błędy między relacją Unity / Compiz, systemem X.org i sterownikiem wideo. Te błędy są oczywiście rozwiązywane w nowszych, zaktualizowanych wersjach Unit, Compiz, X lub sterownika wideo.

Gdy znajdziesz się w Unity i wszystko jest powolne i zasadniczo uszkodzone, aby przejść do TTY1, naciśnij CTRL+ ALT+ F1. W terminalu wpisz użytkownika i hasło, aby uzyskać dostęp do wiersza polecenia. Możesz również przejść do TTY podczas uruchamiania, naciskając ESClub przytrzymując SHIFT, a następnie w menu GRUB, wybierając tryb odzyskiwania.

  1. Zainstaluj Xorg Edgers PPA

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

    W zależności od karty graficznej możesz zainstalować serię 304, 310, 313 lub dowolną nowszą, która się tam pojawi. Polecam zawsze przetestować najnowszą wersję i tylko wtedy, gdy spowoduje to problem, a następnie zejdź stamtąd, aż dojdziesz do wersji, w której wszystko działa poprawnie. Na przykład, jeśli masz GT 9500 lub nowszy (jak w moim przypadku, do którego również mam 440 GT, 560 TI i 680 GTX), jedyną wersją, która rozwiązuje wszystkie moje problemy, jest 313.18, który wyszedł kilka dni temu . Zrobiłbym to:

    sudo apt-get install nvidia-313
    

    Spowoduje to zainstalowanie najnowszej wersji serii 313. Naprawia WIELE problemów z wideo z compiz, unity i xorg. Seria 310 rozwiązuje również wiele problemów, ale nie przetestowałem tego z moimi kartami graficznymi. Inne wersje Nvidii to nvidia-eksperymentalna-304 i nvidia-eksperymentalna-310 w chwili pisania tego tekstu.

  2. Uruchom ponownie, aby sprawdzić, czy twoja karta wideo nie działa poprawnie z Ubuntu. Jeśli pojawią się jakiekolwiek problemy związane z plikiem konfiguracyjnym Nvidii, po prostu otwórz terminal, wpisz sudo nvidia-xconfigi uruchom ponownie.

Są też inne fajne pytania, które mogą pomóc:

Jak mogę zaktualizować sterownik NVIDIA?

Jak zainstalować sterowniki Nvidia?

Nie można zainstalować sterownika Nvidia

Jaka jest różnica między pakietami nvidia-current i nvidia-current-updates?

Lub nawet bardziej ogólny: Jak poprawnie włączyć Desktop Cube w Unity 3D?

Luis Alvarado
źródło
2

Jeśli wypróbowałeś wszystkie powyższe i problem z zawieszaniem się pozostaje, możesz spróbować tego, co zrobiłem.

Nałóż duże ilości środka do czyszczenia styków na procesor, pamięć RAM i każdy inny kompleks układów na tyle, aby pokazać te małe, ciasno upakowane piny. Mogą tracić przewodność z powodu gromadzenia się pyłu oraz zwarcia z powodu wilgoci.

Kilka dni po czyszczeniu (użyłem CRC 2-26) i serii naprawdę brutalnych testów warunków skrajnych mój komputer się nie zawiesił.

Tak więc, dla wszystkich z was nagle niespodziewane zamrożenia, porzućcie bałagan w swoim systemie operacyjnym ponad to, co jest rozsądne i zrób wyczerpujące czyszczenie kurzu i kontaktów.

PetaZeta
źródło
2

Zamień na najnowsze jądro Linuksa 2.6.35 lub nowsze, które rozwiąże twój problem. Wykonaj następujące kroki z tego linku .

Tshilidzi Mudau
źródło
Ach! Spróbuję. Opublikowany przewodnik dotyczy wersji 2.6.34, ale powiedziałeś, że muszę zainstalować wersję 2.6.35. Który powinienem zrobić?
Jordan Parmer
Porażka. Wygląda na to, że już go zainstalowałem. uname -r ujawnia 2.6.35-24-generic
Jordan Parmer
1

Miałem podobne problemy z 10.04. X zawiesiłby się i nic poza resetem go nie naprawiłoby. Zaktualizowałem sterowniki nvidii do najnowszej wersji i od tego czasu nie miałem problemów.

Jason Lewis
źródło
Używając sterowników wideo ATI ... ale warto się temu przyjrzeć. Dzięki!
Jordan Parmer
1

W bardzo szczególnym przypadku używasz Virtualboksa do uruchamiania 64-bitowego gościa na 32-bitowym hoście (Ubuntu) przy użyciu VT-x lub AMD-V (wbudowana w procesor technologia wirtualizacji sprzętowej)

Virtualbox może spowodować, że 32-bitowy host losowo się zawiesi, gdy uruchomisz na nim 64-bitowego gościa za pomocą VT-x lub AMD-V (wbudowana w procesor technologia wirtualizacji sprzętowej). To znany problem .

2 rozwiązania:

  1. Musisz uruchamiać 32-bitowych gości tylko na swoim obecnym 32-bitowym hoście [zalecane, jeśli masz mniej niż 2 GB pamięci RAM];
  2. Musisz przejść na Ubuntu 64-bit jako host (możesz nawet przeprowadzić migrację z 32-bit na 64-bit, instalując ponownie Ubuntu 64-bit bez dotykania folderu „/ home”) [zalecane, jeśli masz 2 GB pamięci RAM lub więcej].

Pamiętaj, że możesz uruchomić 64-bitowych i 32-bitowych gości na 64-bitowym hoście za pomocą Virtualbox bez żadnego problemu.

Inne odpowiedzi obejmowały bardzo dobrze ogólne przypadki ...

Golboth
źródło