Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

【解決済み】.NETランタイム最適化サービスによるCPU使用率の異常上昇を修正する方法

.NETランタイム最適化サービスによるCPU使用率の異常上昇は、多くの場合突然発生しますが、.NET Frameworkの更新プログラムをインストールした後にも起こることがあります。このプロセスの実行ファイルは「mscorsvw.exe」で、タスクマネージャーにはその名前、または「.NET Runtime Optimization Service」として表示されます。このサービスは頻繁に動作するものではなく、.NET Frameworkを最適化するために実行され、その結果として.NET Frameworkに依存するアプリやプログラムの動作速度が向上します。

【解決済み】.NETランタイム最適化サービスによるCPU使用率の異常上昇を修正する方法

しかし、この最適化処理には異常に長い時間がかかることがあり、実行されるたびにCPUリソースの大部分を消費するという報告が多数寄せられています。中には数日間も処理が続くケースもあります。以下にご紹介する対処法を順番に試して、問題の解決を目指しましょう。

.NETランタイム最適化サービスのCPU使用率が高くなる原因とは?

公式な見解によれば、このプロセスはライブラリを再コンパイルする必要があり、コンピューターがアイドル状態のときにのみ実行されるべきとされています。また、Microsoftによると処理にかかる時間は数分程度のはずです。しかし実際にはそうならず、1週間以上経っても進間以上経っても進捗しないという声も少なくありません。考えられる主な原因は以下の通りです。

  • 一般的に処理速度が遅い傾向があります。特定のコマンドを実行することで高速化を図れます。
  • マルウェアがPC上で動作している可能性があります。マルウェアがこのサービスに偽装しているか、サービス自体が感染しているケースが該当します。マルウェアスキャナーの実行を試みてください。場合によっては、マルウェアの存在によりアンチマルウェアサービス自体も高負荷になることがあります。
  • サービスが破損している可能性があります。その場合はサービスの再起動を試みてください。

破損したファイルの修復

まずはRestoroをダウンロードして実行し、破損または欠落しているシステムファイルをスキャンして復元しておきましょう。完了したら、以下の解決策に進んでください。

解決策1:プロセスの最適化

このプロセスをすぐに強制終了させることは推奨されません。PC本体やアプリ・ゲームの動作に役立つ処理だからです。ただし、専用のコマンドを実行したり、同じ効果を持つスクリプトを利用したりすることで、処理を大幅に高速化できます。これによりプロセスがより多くのCPUコアを使用できるようになり、短時間で完了するようになります。具体的な手順は以下の通りです。

  1. スタートメニューの検索ボックスで「コマンドプロンプト」と検索します。表示された一番上の結果を右クリックし、「管理者として実行」を選択します。
【解決済み】.NETランタイム最適化サービスによるCPU使用率の異常上昇を修正する方法
  1. 旧バージョンのWindowsをお使いの場合は、Windowsロゴキー+Rキーを同時に押して「ファイル名を指定して実行」ダイアログを開きます。ボックスに「cmd」と入力し、Ctrl+Shift+Enterキーを押すことで、コマンドプロンプトを管理者として実行できます。
  2. 以下のコマンドをコピー&ペーストし、それぞれ入力後に必ずEnterキーを押してください。最初の2つのコマンドは、お使いのOSの種類に合わせてどちらか一方を選択します(32ビット版なら1行目、64ビット版なら2行目)。
cd c:\Windows\Microsoft.NET\Framework\v4.0.30319 
cd c:\Windows\Microsoft.NET\Framework64\v4.0.30319

ngen.exe executequeueditems
  1. .NETランタイム最適化サービスのCPU使用率が正常値に戻ったかどうかを確認してください。

代替方法:自分でコマンドを実行するのが不安な方や、旧バージョンのWindowsを使用している方は、Microsoft公式が提供するスクリプトを利用しても同じ効果が得られます。

  1. スクリプトのGitHubページにアクセスします。コード部分まで下にスクロールし、Rawボタンを右クリックして「名前を付けてリンク先を保存…」を選択します。ファイルの種類が「Windows Script File (*.wsf)」になっていることを確認してください。
【解決済み】.NETランタイム最適化サービスによるCPU使用率の異常上昇を修正する方法
  1. 保存した場所からファイルを見つけてダブルクリックし、実行します。実行するプログラムを選択する画面が表示された場合は、Windows Script Hostを選択してください。
  2. 問題が解決したかどうかを確認します。

解決策2:マルウェアのスキャン

大げさに感じられるかもしれませんが、マルウェア感染はこの問題の主要な原因の一つであり、PCのマルウェアチェックは非常に重要です。悪意のあるプログラムはシステムリソースを奪おうとするため、自身のプロセスにPC内の既存ファイルに似た名前を付けることがよくあります。

ここでは、膨大なデータベースを持ち高い検出精度で定評のあるMalwarebytesを使ったスキャン方法をご紹介します。

  1. Malwarebytes Anti-Malwareは優秀なアンチマルウェアツールで、公式サイトから無料版をダウンロードできます。この問題を解決できればフル版は当面不要かもしれませんが(今後のトラブルに備えて購入するのも良いでしょう)、まずは無料試用版をダウンロードしてください。
【解決済み】.NETランタイム最適化サービスによるCPU使用率の異常上昇を修正する方法
  1. PCのダウンロードフォルダにあるダウンロード済みの実行ファイルを見つけ、ダブルクリックして開きます。
  2. Malwarebytesのインストール先を選択し、画面に表示される指示に従ってインストールを完了させます。
【解決済み】.NETランタイム最適化サービスによるCPU使用率の異常上昇を修正する方法
  1. スタートメニューまたはデスクトップからMalwarebytesを起動し、ホーム画面のスキャンオプションを選択します。
  2. ツールはまずウイルス定義データベースの更新を行い、その後スキャンを開始します。処理には時間がかかる場合があるため、完了までお待ちください。マルウェアが検出された場合は、削除または隔離を実行してください。
【解決済み】.NETランタイム最適化サービスによるCPU使用率の異常上昇を修正する方法
  1. スキャン完了後、コンピューターを再起動し、.NETランタイム最適化サービスの問題が解消されたかどうかを確認してください。

注意:感染しているマルウェアの種類が判明している場合(ランサムウェア、アドウェアなど)は、他のセキュリティスキャナーも併用することをおすすめします。単一のスキャナーですべての種類のマルウェアを検出・削除できるわけではないため、複数のツールを試すのが確実です。

解決策3:サービスの再起動

サービスを再起動するとプロセス全体もやり直されますが、特に不具合が原因で異常動作していた場合は、今回はより短時間で完了するはずです。以下の手順を確認してください。

  1. キーボードのWindowsキー+Rキーを同時に押して「ファイル名を指定して実行」ユーティリティを開きます。新しく開いたボックスに「services.msc」(引用符は除く)と入力し、OKをクリックしてサービス管理ツールを開きます。【解決済み】.NETランタイム最適化サービスによるCPU使用率の異常上昇を修正する方法
  1. 一覧からMicrosoft .NET Framework NGENサービスを探します。右クリックし、表示されたコンテキストメニューから「プロパティ」を選択します。
  2. サービスが開始されている場合(サービス状態の項目で確認できます)、ウィンドウ中央の停止ボタンをクリックして一度停止します。その後、開始ボタンをクリックして再度実行します。
【解決済み】.NETランタイム最適化サービスによるCPU使用率の異常上昇を修正する方法
  1. 他の手順に進む前に、サービスのプロパティウィンドウ内のスタートアップの種類が「自動」に設定されていることを確認してください。スタートアップの種類の変更時にダイアログが表示された場合は、内容を確認して承認します。

開始ボタンをクリックした際に、次のようなエラーメッセージが表示されることがあります。

「ローカルコンピューター上でサービスを開始できません。エラー1079:このサービスに指定されたアカウントが、同じプロセスで実行されている他のサービスに指定されたアカウントと異なります。」

このエラーが表示された場合は、以下の手順に従って修正してください。

  1. 上記の手順1〜3に従ってサービスのプロパティウィンドウを開きます。「ログオン」タブに移動し、「参照...」ボタンをクリックします。
【解決済み】.NETランタイム最適化サービスによるCPU使用率の異常上昇を修正する方法
  1. 選択するオブジェクト名を入力してください」の入力欄に使用中のアカウント名を入力し、「名前の確認」をクリックして名前が認識されるのを待ちます。
  2. 完了したらOKをクリックします。パスワードの入力を求められた場合は、パスワード欄に入力してください。これでサービスが問題なく開始されるはずです!

解決策4:クリーンブートの実行

場合によっては、サードパーティ製アプリが追加の最適化処理を要求し、高いCPU使用率を引き起こしていることもあります。そこでこの手順では、クリーンブートを実行して、サードパーティ製ソフトウェアが影響していないかを確認します。クリーンブートガイドに従って実行した後、CPU使用率が以前と同じように高くなるかをチェックしてください。改善されていれば、原因はサードパーティ製アプリにあったということです。その後は、アプリを一つずつ有効化していくことで、問題の原因となっている犯人を簡単に特定できます。

  1. AvastサービスのCPU使用率が高くなる原因と8つの解決策を徹底解説

    セキュリティツールはリアルタイムで動作するため、どうしても多くのシステムリソースを消費しがちです。しかし、ウイルス対策ソフトがCPUパワーを使い果たしてしまうと、PCの動作に深刻な支障が出てしまいます。 人気のウイルス対策ソフト「Avast(アバスト)」を使用しているユーザーの間では、CPU使用率が異常に高くなるという報告が相次いでいます。同じ悩みをお持ちの方に向けて、本記事ではAvastサービスによる高CPU使用率の原因と、効果的な解決策を詳しくご紹介します。 AvastサービスがCPU使用率を高くする原因は? Avastはバックグラウンドスキャン、ウイルス駆除、リアルタイムスキャン、クリー

  2. mscorsvw.exeとは?CPU使用率が高くなる原因と6つの対処法を徹底解説

    タスクマネージャーを開いたら、mscorsvw.exe(.NET ランタイム最適化サービス)がCPUの90%近くを占有していて、アプリやプログラムの起動が極端に遅くなった——そんな経験はありませんか? 実はこの症状に悩まされているユーザーは少なくありません。Windows 11環境でmscorsvw.exeの問題に対して誤った対処をしてしまう方も多く見られます。 ご安心ください。本記事では、mscorsvw.exeエラーを解消するための最も効果的な解決策を厳選してご紹介します。 mscorsvw.exeとは何か? mscorsvw.exeは、Microsoft Compiler To Save