web-dev-qa-db-ja.com

応答しないUbuntuシステムを修正するにはどうすればよいですか?

私はUbuntuを使用しています。場合によっては、マウスとキーボードを使用してもシステムが応答しないことがあります。マシンのリセットボタンを押す以外にこの問題を解決する方法はありますか?

22
user297850

開いているドキュメントを保存せずに、リセットボタンを押すことなく再起動する方法が必要な場合は、データが失われる可能性が低い方法があります。初挑戦 Ctrl+Alt+F1ixtmixilix が言ったように、これで 仮想コンソール が表示されます。仮想コンソールに入ると、 Ctrl+Alt+Delete シャットダウンしてマシンを再起動します。

その手法がうまくいかない場合、常に Alt+SysRq+REISUB

再起動せずに問題を解決するには、何が起こっているかについての詳細情報がないと、良い答えを出すのは困難です。これが発生する状況を説明できれば(そのための最良の方法は、質問を編集して情報を追加することです)、それが役立つことがあります。良い答えを与える人々。考慮すべきもう1つのことは、コンピュータが応答しなくなった場合、特に数秒以上かかる場合 Ctrl+Alt+F1 仮想コンソールを起動する場合---ほぼ間違いなくバグがあり、 報告する によって、コミュニティを支援し、おそらく回答を得ることができます。

応答しないWMまたはX11/Waylandを引き起こすGUIグリッチ

これは、アプリケーションとウィンドウマネージャー、またはX11サーバーまたはWaylandの間の相互作用が原因で発生している可能性があります。これが問題の性質であることを示す兆候は、アプリケーションが応答を停止し、キーボードまたはマウスで他のアプリケーションウィンドウに入力できない場合です。 (これを実行できるアプリケーションはありません。一部のGUIコンポーネントには、これが発生するためのバグが含まれている必要があります。)それが起こっている場合、問題のプロセスを強制終了できます。仮想コンソール( ixtmixilix のように):

  1. 押す Ctrl+Alt+F1

  2. ログインします。パスワードを入力しても何も表示されません。 それは正常です。

  3. ps のようなユーティリティを使用して、問題のプログラムのプロセス名を特定します。これはUbuntuで簡単な場合もあれば、そうでない場合もあります。たとえば、アーカイブマネージャプロセスの名前は_file-roller_です。それを理解するのに問題がある場合、通常、あまり問題なくオンラインで情報を見つけることができます(または、それができない場合は、それに関する質問を投稿できます)。

    psの出力を grep にパイプして絞り込みます。問題の原因となったのはArchive Managerだとしましょう。次に、実行できます:

    _ps x | grep file-roller
    _

    独自のgrepコマンドのエントリと、_file-roller_のエントリが表示されます。

  4. SIGTERM を使用して、問題のプロセスを強制終了しようとします。これにより、ファイルバッファーのフラッシュ、切断しようとしていることをリモートサーバーに通知する(それを行うプロトコルの場合)、他の種類のリソースを解放するなど、土壇場のクリーンアップを実行する機会が与えられます。これを行うには、- kill コマンドを使用します。

    _kill PID_

    ここで、PIDは、ステップ3でpsを実行して取得した、強制終了するプロセスの プロセスID番号 です。

  5. SIGTERMは、プロセスに終了を確実に要求する方法です。プロセスはそのシグナルを無視することができ、特定の状況下で誤動作している場合は無視します。したがって、それが機能したことを確認する必要があります。実行されなかった場合は、 SIGKILL で強制終了します。これは無視できず、プロセスが ninterruptible sleep であるというまれなケースを除いて常に機能します(またはは実際には実行されていませんが、むしろ ゾンビプロセス )です。

    プロセスがまだ実行されているかどうかを確認し、実行中の場合はSIGKILLを使用して、1つのコマンドでプロセスを強制終了できます。

    _kill -KILL PID_

    kill: (PID) - No such processのようなメッセージが表示された場合は、SIGTERMを使用してそれを強制終了したことがわかります。出力が得られない場合、SIGTERMが機能しなかったことがわかります。その場合、SIGKILLはおそらくそうでしたが、もう一度実行して確認する価値があります。 (入力を簡単にするために、上矢印キーを押すと前のコマンドが表示されます。)

  6. 独自のプロセス、または常にrootまたは自分以外の別のユーザーに属するプロセスのまれなインスタンスでは、rootとしてプロセスを強制終了する必要があります。そのためには、上記のSudoコマンドの前にkill(末尾のスペースを含む)を付加します。上記のコマンドが機能しない場合、またはプロセスを強制終了するために必要なアクセス権がないと通知された場合は、rootSudoを使用して試してください。

(ちなみに、_kill -KILL_は広く普及している_kill -9_と同じです。SIGKILLがすべてのプラットフォームで信号番号として_kill -KILL_を持っていることが保証されていないため、_9_をお勧めします。 x86でも機能しますが、必ずしもすべての場所で機能するわけではありません。このように、_kill -KILL_は_kill -9_よりもプロセスを正常に終了する可能性が高くなります。ただし、x86では同等です。よろしければ、お気軽にご利用ください。)

強制終了したいプロセスと同じ名前のプロセスが他にないことがわかっている場合は、killallの代わりに kill を使用し、プロセスID番号の代わりにプロセスの名前を使用できます。

CPUリソースを独占するプロセス

プロセスが可能な限り高い優先度またはその近くで実行される場合(またはより適切に、可能な限り低いかその近くに niceness )を実行すると、グラフィカルユーザーインターフェイスが完全に、またはほぼ完全にレンダリングされる可能性があります。 、無反応。ただし、この状況では、仮想コンソールに切り替えてコマンドを実行する(または再起動する)ことができない可能性があります。

プロセスまたはプロセスの組み合わせが通常または適度に高い優先順位で実行されているためにマシンの速度が低下している場合は、上記のセクションの手法を使用してプロセスを強制終了できるはずです。ただし、グラフィカルプログラムの場合は、ウィンドウの閉じるボタンをクリックして強制終了することもできます。デスクトップ環境では、応答しない場合に強制終了するオプションが提供されます。これが機能しない場合は、もちろん、(ほとんど)常に_kill -KILL_で強制終了できます。

I/Oの問題

バギー I/O を使用すると、長時間(永続的であっても)応答しなくなる可能性があります。これは、カーネルのバグやバグのあるドライバが原因である可能性があります。部分的な回避策は、読み取りと書き込みの重い同時操作を回避することです(たとえば、2つの大きなファイルを2つの同時コピープロセスで一度にコピーしないでください。HDビデオの視聴中またはインストール中に大きなファイルをコピーしないでください)仮想マシンのOS)。

これは明らかに不十分であり、実際の解決策は問題を見つけて報告することです。 kernel.org からメインラインカーネルを実行している場合を除き、カーネルのバグはUbuntuのパッケージlinuxに対して報告する必要があります(Ubuntuはディストリビューション固有のパッチを統合する特別なカーネルビルドを提供するため、バグレポートは確認されていませんメインラインカーネルに対して kernel.org )で拒否されます。影響を受けるマシンで_ubuntu-bug linux_(または_apport-cli linux_)を実行してこれを行う必要があります。 buntuバグレポートドキュメント を最初に参照してください。これを正しく行う方法を説明します。

グラフィックカードの問題

一部のGUIロックアップは、グラフィックカードの問題が原因で発生する可能性があります。これを軽減するために、いくつか試すことができます。

  1. 他の人々がUbuntuまたは他のGNU/Linuxディストリビューションで同じビデオカード(および/またはマシンのメーカーとモデル)で同様の問題を経験していないかどうか、ウェブを検索してください。この質問で私が提供できるものよりも具体的な解決策があり、現在の質問にあるより具体的な情報がない場合があります。

  2. 別のビデオドライバーを試してみてください。追加のドライバーをチェックインすることでこれを行うことができます。また、Webを検索して、ビデオカードで使用できるLinuxドライバーを確認することもできます。ほとんどのプロプライエタリビデオカードはIntel、 AMD/ATI 、または Nvidia です(これらのリンクをクリックすると、Ubuntuでこれらのカード用のプロプライエタリドライバーをインストールして使用するためのコミュニティドキュメントが表示されます)。 Intelの場合、Ubuntuに存在するFOSSドライバーを使用するのが最善ですが、使用できる 役立つ情報 はまだあります。持っているカードに関係なく、 この一般情報 が役立つ場合があります。

    現在独自のドライバーを使用している場合は、さまざまな独自のドライバー(NVidiaまたはAMD/ATIから直接など)を使用するか、無料のオープンソースドライバーを使用してみてください。

  3. グラフィックアクセラレーションを必要としない、または使用しないグラフィカルログインセッションタイプを選択してください。これを行うには、ログアウトし、グラフィカルログイン画面で、ログイン名の近くにあるUbuntuのロゴまたは歯車のアイコンをクリックします。ドロップダウンメニューが表示されます。選択をUbuntuからUbuntu 2Dに変更します。 nity の代わりに nity 2D を使用します。 ( GNOME Shell を使用している場合、 GNOMEフォールバック /GNOME Classicを選択できます代わりに。)疑わしく、「効果なし」という選択がある場合は、それがおそらく最も安全であるため、それを選択してください。

    この質問 には、Ubuntuで選択できるさまざまなグラフィカルインターフェイスに関する詳細情報があります。

  4. Ubuntuの新しいバージョンでは、ログイン画面でX.orgまたはWaylandを選択できます。どちらを使用していても、もう一方を試してください。 Waylandの問題は、X.orgを使用して修正できる場合もあれば、その逆の場合もあります。

  5. バグを報告してください。

うまくいけば、上記の情報は、この種の問題を引き起こしている可能性のあるものに関するいくつかの一般的な情報を伝えています。また、(問題の具体的な詳細に応じて)質問に追加するのに役立つ可能性のある情報を明らかにし、より良い答えを得ることができるようにするのにも役立ちます。 (または、あなたの状況に固有の追加情報でこの回答を改善するために。)

36
Eliah Kagan

はい、これをアーカイブする最も簡単な方法は、キーを有効にしてXorgサーバーを強制終了し、Xセッションを再起動することです。

これを有効にするには、システム設定->キーボードレイアウトオプションを開きます(またはUnityインターフェイスでkeyboardコマンドを使用して、 AltF2)、このオプションをチェックします:

Ctrl + Alt +バックスペース

enter image description here

ぶら下がったら CtrlAltBackspace Xサーバーを強制終了し、lightdmはログインインターフェースを再起動します

7
daisy