Bagaimana cara memperbaiki sistem Ubuntu yang tidak responsif?

22

Saya menggunakan Ubuntu. Terkadang, sistem tidak memiliki respons dengan mouse dan keyboard. Apakah ada cara untuk mengatasi masalah ini kecuali menekan tombol reset pada mesin?

pengguna297850
sumber
1
itu pertanyaan yang sulit karena Anda tidak memberi kami banyak hal untuk dilanjutkan ... jika itu saya, saya akan CTRL + ALT + F [1..6], masuk, dan bunuh beberapa proses. tetapi saya hampir selalu tahu apa yang membuat mesin saya tidak responsif, sedangkan Anda tidak. dan selain itu, kadang-kadang saya menulis program yang saya tahu akan membuatnya tidak responsif, karena saya ingin keluaran program.
ixtmixilix
Apakah Anda yakin sistem menjadi tidak responsif, atau apakah sistem masih berfungsi tetapi perangkat input berhenti berfungsi?
Bobby

Jawaban:

35

Jika Anda ingin cara mem-boot ulang, tanpa menyimpan dokumen terbuka, tetapi tanpa menekan tombol reset, maka ada beberapa cara yang cenderung menyebabkan hilangnya data. Pertama, coba Ctrl+ Alt+ F1. Itu akan membawa Anda ke konsol virtual , seperti kata ixtmixilix . Setelah Anda berada di konsol virtual, Ctrl+ Alt+ Deleteakan mati dan reboot mesin.

Jika teknik itu tidak berhasil, selalu ada Alt+ SysRq+REISUB .

Sedangkan untuk memperbaiki masalah tanpa me-reboot, tanpa informasi lebih lanjut tentang apa yang sedang terjadi, akan sulit untuk memberikan jawaban yang baik. Jika Anda dapat menggambarkan keadaan di mana hal ini terjadi (cara terbaik untuk melakukannya adalah mengedit pertanyaan Anda untuk menambahkan informasi), maka itu dapat membantu orang untuk memberikan jawaban yang baik. Hal lain yang perlu dipertimbangkan adalah bahwa, jika komputer Anda menjadi tidak responsif - terutama jika dibutuhkan lebih dari beberapa detik untuk Ctrl+ Alt+ F1memunculkan konsol virtual - maka Anda hampir pasti memiliki bug, dan dengan melaporkannya Anda dapat keduanya membantu komunitas dan mungkin mendapatkan jawaban.

GUI Gangguan Menyebabkan WM atau X11 / Wayland Tidak Responsif

Ini mungkin terjadi karena interaksi antara aplikasi dan window manager --atau server X11 atau Wayland. Tanda bahwa ini adalah sifat masalahnya adalah jika aplikasi berhenti merespons dan mencegah Anda memasukkan input dengan keyboard atau mouse ke jendela aplikasi lain. (Tidak ada aplikasi harus dapat melakukan hal ini, beberapa komponen GUI harus memiliki bug di dalamnya untuk ini terjadi.) Jika itu yang apa yang terjadi, maka Anda dapat membunuh proses menyinggung di konsol virtual (sebagai ixtmixilix disinggung):

  1. Tekan Ctrl+ Alt+ F1.

  2. Masuk. Anda tidak akan melihat apa pun saat memasukkan kata sandi. Itu normal.

  3. Gunakan utilitas seperti psmencari tahu nama proses program yang menyinggung itu. Terkadang ini mudah di Ubuntu, dan di waktu lain tidak. Misalnya, nama proses Manajer Arsip adalah file-roller. Jika Anda kesulitan mengatasinya, Anda biasanya dapat menemukan informasi online tanpa terlalu banyak kesulitan (atau jika tidak bisa, Anda dapat memposting pertanyaan tentang itu).

    Anda dapat menyalurkan psoutput grepuntuk mempersempit segalanya. Misalkan Manajer Arsip yang menyebabkan masalah. Maka Anda dapat menjalankan:

    ps x | grep file-roller
    

    Anda akan melihat entri untuk grepperintah Anda sendiri , ditambah entri untuk file-roller.

  4. Mencoba untuk membunuh proses yang menyinggung dengan SIGTERM. Ini memberikannya kesempatan untuk melakukan pembersihan menit terakhir seperti buffer file pembilasan, memberi sinyal ke server jauh yang akan segera diputuskan (untuk protokol yang melakukan itu), dan melepaskan sumber daya jenis lain. Untuk melakukan ini, gunakan killperintah:

    kill PID

    di mana PIDadalah proses ID jumlah dari proses Anda ingin membunuh, yang diperoleh dari berjalan pspada langkah 3.

  5. SIGTERMadalah cara untuk dengan tegas meminta suatu proses untuk berhenti. Proses ini dapat mengabaikan sinyal itu, dan akan melakukannya ketika tidak berfungsi dalam kondisi tertentu. Jadi, Anda harus memeriksa untuk melihat apakah itu berhasil. Jika tidak, bunuh dengan SIGKILL, yang tidak bisa diabaikan, dan yang selalu berfungsi kecuali dalam kasus yang jarang terjadi di mana prosesnya dalam tidur tanpa gangguan (atau jika itu tidak benar-benar berjalan, tetapi lebih merupakan proses zombie ).

    Anda berdua dapat memeriksa untuk melihat apakah prosesnya masih berjalan, dan mematikannya SIGKILLjika ada, hanya dengan satu perintah:

    kill -KILL PID

    Jika Anda mendapatkan pesan seperti , Anda tahu membunuhnya dengan berhasil. Jika Anda tidak mendapatkan hasil, Anda tahu tidak bekerja. Dalam hal itu, mungkin memang demikian, tetapi ada baiknya memeriksa dengan menjalankannya lagi. (Tekan tombol panah ke atas untuk menampilkan perintah sebelumnya, untuk kemudahan mengetik.)kill: (PID) - No such processSIGTERMSIGTERMSIGKILL

  6. Dalam kasus yang jarang terjadi untuk proses Anda sendiri, atau selalu dengan proses milik rootatau pengguna lain selain diri Anda, Anda harus mematikan proses tersebut sebagai root. Untuk melakukan itu, tambahkan terlebih dahulu sudo (termasuk spasi tambahan) sebelum killperintah di atas . Jika perintah di atas tidak melakukan pekerjaan atau Anda mengatakan Anda tidak memiliki akses yang diperlukan untuk membunuh proses, mencoba sebagai rootdengan sudo.

(Omong-omong, kill -KILLsama dengan yang populer secara luas kill -9. Saya sarankan kill -KILLkarena SIGKILLtidak dijamin memiliki 9nomor sinyalnya di semua platform. Ia bekerja pada x86, tetapi itu tidak berarti ia akan selalu berfungsi di mana-mana. Dengan cara ini, kill -KILLlebih mungkin untuk berhasil menyelesaikan proses daripada kill -9. Tapi mereka setara dengan x86, jadi silakan menggunakannya di sana jika Anda mau.)

Jika Anda tahu tidak ada proses lain dengan nama yang sama dengan yang ingin Anda bunuh, Anda bisa menggunakan killallalih-alih killdan nama proses alih-alih nomor proses ID.

Proses Memonopoli Sumber Daya CPU

Jika proses berjalan pada atau sangat dekat prioritas tertinggi (atau negara lebih baik, pada atau dekat serendah mungkin kebaikan ), itu bisa berpotensi membuat antarmuka pengguna grafis Anda sepenuhnya, atau dekat-benar, tidak responsif. Namun, dalam situasi ini, Anda mungkin tidak dapat beralih ke konsol virtual dan menjalankan perintah (atau bahkan mungkin reboot).

Jika suatu proses atau kombinasi proses yang berjalan pada prioritas normal atau cukup tinggi memperlambat mesin Anda, Anda harus dapat mematikannya menggunakan teknik di bagian atas. Tetapi jika mereka adalah program grafis, Anda mungkin juga dapat membunuhnya dengan mengklik tombol tutup di windows mereka - lingkungan desktop akan memberi Anda pilihan untuk membunuhnya jika mereka tidak merespons. Jika ini tidak berhasil, tentu saja Anda dapat (hampir) selalu membunuh mereka kill -KILL.

Masalah I / O

Buggy I / O dapat menyebabkan tidak responsif berkepanjangan (bahkan abadi). Ini bisa disebabkan oleh bug kernel dan / atau driver buggy. Solusi parsial adalah untuk menghindari operasi membaca dan / atau menulis yang berat dan simultan (misalnya, jangan menyalin dua file besar sekaligus, dalam dua proses menyalin simultan; jangan menyalin file besar sambil menonton video HD atau menginstal OS dalam mesin virtual).

Ini jelas tidak memuaskan dan solusi sebenarnya adalah menemukan masalah dan melaporkannya. Kecuali jika Anda menjalankan kernel mainline dari kernel.org , bug kernel harus dilaporkan terhadap paket linuxdi Ubuntu (karena Ubuntu memberikan build kernel khusus yang mengintegrasikan tambalan khusus distro, dan laporan bug yang tidak dikonfirmasi terhadap kernel mainline akan ditolak di kernel.org ). Anda harus melakukan ini dengan menjalankan ubuntu-bug linux(atau apport-cli linux) pada mesin yang terpengaruh. Lihat dokumentasi pelaporan bug Ubuntu terlebih dahulu; ini menjelaskan cara melakukan ini dengan benar.

Masalah Kartu Grafis

Beberapa penguncian GUI dapat disebabkan oleh masalah kartu grafis. Ada beberapa hal yang dapat Anda coba, untuk meringankannya:

  1. Cari di web untuk melihat apakah orang lain mengalami masalah yang sama dengan kartu video yang sama (dan / atau membuat dan model mesin) di Ubuntu atau distribusi GNU / Linux lainnya. Mungkin ada solusi yang lebih spesifik daripada apa yang dapat saya tawarkan dalam jawaban ini, tanpa informasi lebih spesifik daripada yang ada dalam pertanyaan Anda saat ini.

  2. Lihat apakah berbagai driver video tersedia untuk Anda coba. Anda dapat melakukan ini dengan memeriksa di Driver Tambahan; Anda juga dapat mencari di web untuk melihat driver Linux apa yang tersedia untuk kartu video Anda. Sebagian besar kartu video berpemilik adalah Intel, AMD / ATi , atau Nvidia (klik tautan itu untuk melihat dokumentasi komunitas tentang menginstal dan menggunakan driver berpemilik untuk kartu-kartu ini di Ubuntu). Untuk Intel, Anda sebaiknya tetap menggunakan driver FOSS yang ada di Ubuntu, tetapi masih ada informasi bermanfaat yang dapat Anda gunakan. Terlepas dari kartu apa yang Anda miliki, informasi umum ini dapat membantu.

    Jika saat ini Anda menggunakan driver berpemilik, Anda dapat mencoba menggunakan driver berpemilik yang berbeda (misalnya, langsung dari NVidia atau AMD / ATi), atau Anda dapat mencoba menggunakan driver open source gratis sebagai gantinya.

  3. Coba pilih jenis sesi login grafis yang tidak memerlukan / menggunakan akselerasi grafik. Untuk melakukan ini, logout, dan pada layar login grafis klik logo Ubuntu atau ikon roda gigi di dekat nama login Anda. Menu tarik-turun ditampilkan. Ubah pilihan dari Ubuntu ke Ubuntu 2D . Ini membuat Anda menggunakan Unity 2D sebagai ganti Unity . (Jika Anda menggunakan GNOME Shell , Anda dapat memilih GNOME Fallback / GNOME Classic sebagai gantinya.) Jika ragu dan ada pilihan yang mengatakan "tidak ada efek," pilih itu, karena itu mungkin yang paling aman.

    Pertanyaan ini memiliki beberapa informasi lebih lanjut tentang antarmuka grafis yang berbeda yang dapat Anda pilih di Ubuntu.

  4. Di versi Ubuntu yang lebih baru, Anda dapat memilih antara X.org dan Wayland pada layar masuk. Apa pun yang Anda gunakan, coba yang lain. Terkadang masalah dengan Wayland dapat diatasi dengan menggunakan X.org, atau sebaliknya.

  5. Laporkan bug.

Semoga informasi di atas telah menyampaikan beberapa informasi umum tentang apa yang bisa menyebabkan masalah seperti ini. Ini juga harus berfungsi untuk menjelaskan informasi apa yang mungkin berguna bagi Anda untuk ditambahkan ke pertanyaan Anda (tergantung pada detail spesifik masalah), untuk memungkinkannya mendapatkan jawaban yang lebih baik. (Atau untuk meningkatkan jawaban ini dengan informasi tambahan khusus untuk situasi Anda.)

Eliah Kagan
sumber
1
Tip yang dilakukan dengan baik untuk memecahkan masalah hang.
Cool Charac
Jika keyboard berhenti merespons tidak mungkin menggunakan Ctrl + Alt + FN
szx
6

Ya, cara termudah untuk mengarsipkan ini, adalah mengaktifkan kunci untuk membunuh server Xorg, dan meluncurkan kembali sesi X.

Untuk mengaktifkannya, buka Pengaturan Sistem -> opsi Tata Letak Papan Ketik (atau gunakan keyboardperintah di antarmuka Unity, tekan AltF2), dan centang opsi ini:

Ctrl + Alt + Backspace

masukkan deskripsi gambar di sini

Jadi ketika hang, hit CtrlAltBackspaceakan membunuh X server, dan lightdm akan meluncurkan kembali antarmuka login

bunga aster
sumber
Alt+Print+Kakan melakukan hal yang sama di luar kotak, bukan?
Bobby