Linux
 Computer >> コンピューター >  >> システム >> Linux

LinuxでCPU使用率が高くなる原因と対処法を徹底解説

LinuxでCPU使用率が高くなる原因と対処法を徹底解説

パソコンの動作が急に重くなったり、CPUファンがうるさい音を立て続けたりしていませんか?LinuxでCPU使用率が高くなる原因はさまざまですが、最も多いのは特定アプリの異常動作です。この記事では、Linuxで高いCPU使用率を解決するための具体的な方法を、原因の特定から順番に紹介します。

原因となるプロセスを特定する

異常動作しているアプリは、高性能なCPUでさえ動きを止めてしまうほどの負荷をかけます。問題のあるアプリケーションを見つけるには、「システムモニター」アプリか、ターミナルのtopコマンドを使いましょう。

ターミナルを開いてtopと入力し、Enterキーを押します。

LinuxでCPU使用率が高くなる原因と対処法を徹底解説

デフォルトでは、すべてのプロセスがCPU使用率の高い順に並んでおり、最も負荷のかかるプロセスが上位に表示されます。あるアプリが常に上位5位以内に位置し、他のプロセスより明らかに高いCPU使用率を示しているなら、それが犯人だと特定できます。

優先度を下げる(renice)か、プロセスを終了する(kill)

topコマンドにはreniceとkillの機能が組み込まれているため、プロセスの優先度を変更したり、強制終了させたりできます。

LinuxでCPU使用率が高くなる原因と対処法を徹底解説

「nice値」とは、実行中の他のプロセスと比べて、そのアプリにどれだけのCPUリソースを割り当てるかを示す値です。nice値は+19から-20までの範囲で指定でき、数値が大きいほど優先度は低くなります。

top上でrキーを押し、問題のアプリのPIDを入力します。まず「+5」を試し、効果がなければ「+10」「+15」、最終的には最低優先度の「+19」へと段階的に上げてみてください。

LinuxでCPU使用率が高くなる原因と対処法を徹底解説

アプリが応答しなくなっている場合は、すぐに停止させるべきです。top上でkキーを押し、PIDを入力してEnterを押せば、アプリは即座に終了します。

システム全体をアップデートする

アプリを実行するたびに問題が再発する場合は、アプリのアップデートで解決することがあります。

その場合、ターミナルで以下のコマンドを実行します:

sudo apt update && sudo apt -y upgrade
LinuxでCPU使用率が高くなる原因と対処法を徹底解説

その後、問題のアプリケーションを再度起動してみてください。

アプリを削除して再インストールする

それでも解決しない場合は、プログラムの設定ファイルに誤ったパラメータが含まれている可能性があります。設定を初期状態に戻すことで改善するかもしれません。

まず、後で復元したくなった場合に備えて設定をバックアップしておきましょう。そのうえで、問題のアプリを完全削除(purge)します:

sudo apt purge APP_NAME
LinuxでCPU使用率が高くなる原因と対処法を徹底解説

次に、アプリを再インストールします:

sudo apt update
sudo apt install APP_NAME
LinuxでCPU使用率が高くなる原因と対処法を徹底解説

これでアプリは初期状態に戻ります。

以前のバージョンに戻す

アプリをアップデートしても問題が解決しない場合は、逆に以前のバージョンへダウングレードするのも有効です。少なくとも開発者がバグを修正するまでの間、古いバージョンを使い続けられます。

ダウングレードするには、まず利用可能なバージョンを確認します。ターミナルで以下を実行してください:

sudo apt policy APP_NAME

現在インストールされているバージョンの横には3つのアスタリスク(*)が表示されます。その他に利用可能なバージョンを控えておきましょう。

ダウングレードの前に、既存バージョンをpurgeで削除しておくことをおすすめします。設定ファイル起因の問題を事前に排除できます。

古いバージョンは以下のコマンドでインストールします:

sudo apt install APP_NAME=VERSION
LinuxでCPU使用率が高くなる原因と対処法を徹底解説

代替アプリに乗り換える

Linuxの良いところは、同じ目的を果たせるアプリが複数存在することです。あるアプリが高いCPU使用率の原因になっているなら、遠慮なく代替アプリへ乗り換えるのが賢明です。

systemdやXorgなど中核コンポーネントが原因の場合の対処法

CPUを食いつぶしているのがsystemdやXorgといった中核的なアプリだったらどうすればよいのでしょうか?

systemdの場合、ジョイパッドやプリンターなど、必須ではない機能や周辺機器を無効化してみてください。

対象がジョイパッド、マウス、キーボードなどの入力デバイスで、Ubuntuまたは互換ディストリビューションを使っているなら、ターミナルでxinputと入力すると接続中のデバイス一覧を確認できます。デバイスを無効化するには:

xinput --disable DEVICE_ID
LinuxでCPU使用率が高くなる原因と対処法を徹底解説

再有効化するには、上記コマンドのdisableenableに置き換えるだけです。

その他のデバイスの場合は、やや手順が複雑になります。まずターミナルでlsmodを実行して、Linuxカーネルがモジュールとして読み込んでいる追加ドライバーの一覧を表示します。問題のデバイスに対応するモジュール名を探して控えましょう。次に以下を入力します:

sudo nano /etc/modprobe.d/blacklist.conf

開いたファイルは、起動時に読み込ませたくないモジュールのブラックリストです。すでにいくつかエントリが書かれているはずなので、ファイル末尾に移動し、同じ書式に従ってモジュールを追加します。記述例は以下の通りです:

blacklist MODULE_NAME

ファイルを保存して再起動すれば、問題が解消しているはずです。

Xorgの場合は、ウィンドウマネージャーのコンポジターを無効化してみてください。公式にはコンポジターはCPU関連の処理をGPUへオフロードするとされていますが、実際にはそうならないこともあります。コンポジティングを有効にすると、負荷の高い視覚効果も一緒に有効になってしまうことがあるのです。

また、GPUドライバー自体が高いCPU使用率を引き起こすケースもあります。XorgはNvidiaやAMDの特定バージョンのドライバーと相性が悪いことが知られています。対処法としては、ドライバーを別のバージョンへアップグレードまたはダウングレードすることです。あるいはオープンソース版ドライバーを試すのも一案ですが、機能セットが同一ではなく、一部の機能が使えない場合がある点には注意が必要です。

カーネルを切り替える

Linuxカーネル自体が高いCPU使用率の原因になることはまれです。とはいえ、ここまで試しても解決策が見つからないなら、別のカーネルを試してみても損はありません。

公式サイトの情報によると、人気のLiquorixカーネルをUbuntuにインストールするには、ターミナルで以下を実行します:

sudo add-apt-repository ppa:damentz/liquorix && sudo apt-get update
LinuxでCPU使用率が高くなる原因と対処法を徹底解説

これでUbuntuのソフトウェアソースにリポジトリが追加されます。続けて、カーネル本体をインストールします:

sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64

再起動して新しいカーネルを有効にすれば、CPU使用率が正常な水準に戻ることが期待できます。

これらの解決策のどれかが皆さんの問題解決に役立てば幸いです。それでも解決しない場合は、tasksetコマンドでアプリにCPUコアを手動で割り当てる方法も試せます。最終手段としては、OSを最初から再インストールしたり、別のディストリビューションへ乗り換えたりするのも検討の価値があるでしょう。

  1. SteamクライアントWebHelperのCPU使用率が高い問題を解決する5つの方法

    Steamでゲームをプレイしようとした際に、ゲームやPC全体の動作が重くなると訴えるユーザーが多くいます。タスクマネージャーを詳しく確認すると、Steamのバックグラウンドプロセスである「Steam Client WebHelper」が大量にCPUを消費していることが原因だったのです。本記事では、Steam Client WebHelperによる高CPU使用率の問題を解決する方法を詳しくご紹介します。 Steam Client WebHelperとは? 他の多くのアプリと同様に、Steamにも「WebHelper」と呼ばれる内蔵ブラウザ機能があります。Steamクライアントを起動するたびに、複

  2. WindowsでNVIDIAコンテナのCPU使用率が高くなる原因と6つの解決策

    ゲーム中にNVIDIAコンテナのCPU使用率が異常に高くなる問題に悩まされているユーザーは少なくありません。NVIDIAは優れたGPUを数多く輩出していますが、同社のツールがかえってパフォーマンスの足かせになることもあります。特にロースペック〜ミドルスペックのゲーミングPCでは、NVIDIAコンテナによる高いCPU消費が深刻な問題になりがちです。では、低〜中スペックのゲーミングPCユーザーは快適なゲーム環境を諦めるしかないのでしょうか?いいえ、そんなことはありません。この記事では、NVIDIAコンテナの高CPU使用率問題を解決する具体的な方法を詳しく解説します。 NVIDIAコンテナとは? N