Fix: High CPU Usage by .NET Runtime Optimization Service

This problem usually appears randomly but it can also occur after an update is installed to .NET Framework. The process’s executable is mscorsvw.exe and it will be displayed in Task Manager under that name or as .NET Runtime Optimization Service. It doesn’t run so often and it’s a service that runs to optimize .NET Framework which, in return, makes sure apps and programs dependent on it run faster.

However, this optimization sometimes takes way too long and users have reported that it consumes a large percentage of CPU resources each time it runs. It also goes on for a couple of days. Follow the methods we have prepared below in order to try to resolve this problem.

What Causes the .NET Runtime Optimization Service High CPU Usage?

公式の答えは、プロセスはライブラリを再コンパイルする必要があり、コンピュータがアイドル状態のときにのみ実行する必要があるということです。Microsoftはまた、このプロセスは数分以上かかるべきではないと述べています。しかし、それは事実ではなく、人々は進歩せずに1週間以上待っています。ここにいくつかの原因があります:

  • 通常、実行速度は遅く、特定のコマンドを実行することで速度を上げることができます。
  • コンピューター上マルウェアが実行されている可能性があり、サービスとして偽装したか、サービスが感染した可能性があります。マルウェアスキャナーを実行してみてください。場合によっては、マルウェアが存在すると、マルウェア対策サービスが大量のリソースを消費することもあります。
  • サービスが破損ている可能性があるため、再起動してみてください。

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

このプロセスは、実際にコンピューターと、アプリやゲームの実行方法に役立つため、すぐに終了することはお勧めしません。ただし、この便利なコマンドを実行するか、同じ効果のスクリプトを実行するだけで、プロセスを高速化できるさまざまな方法があります。これにより、プロセスがより多くのCPUコアを使用できるようになり、より迅速に実行を終了できるようになります。以下をチェックしてください!

  1. 「検索コマンドプロンプト右の[スタート]メニューまたは右横に、検索ボタンをタップしてどちらか」。上部に表示される最初の結果を右クリックし、「管理者として実行」オプションを選択します。
  1. 古いバージョンのWindowsを使用しているユーザーは、Windowsロゴキー+ Rキーの組み合わせを使用して、[ファイル名を指定して実行]ダイアログボックスを表示できます。ボックスに「cmd」と入力しCtrl + Shift + Enterキーの組み合わせを使用して、管理者としてコマンドプロンプトを実行します。
  2. 以下に示すコマンドをコピーして貼り付け、それぞれの後にキーボードのEnterキーを必ずクリックしてください。最初の2つのコマンドから、オペレーティングシステムに応じて1つを選択します(最初のコマンドは32ビット、2番目のコマンドは64ビット)。
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スクリプトファイル(* .wsf)であることを確認します。
  1. 保存した場所でファイルを見つけ、ダブルクリックして実行します。実行するプログラムを選択する選択肢に直面した場合は、[ Windowsスクリプトホスト]を選択します
  2. 問題が解決したかどうかを確認します。

解決策2:コンピューターをスキャンしてマルウェアを検出する

これはよく聞こえますが、マルウェア感染はこの問題の主な原因の1つであり、コンピュータでマルウェアをチェックすることが重要です。悪意のあるプログラムはあなたのリソースを手に入れようとするでしょう、そして彼らは通常あなたのプロセスをあなたのコンピュータ上のファイルに似ているものとして名前を付けます。

ここでは、Malwarebytesを使用してPCをスキャンする方法を示します。実際には、膨大なデータベースがあるという事実を考慮して、最良の結果を示しています。幸運を!

  1. Malwarebytes Anti-Malwareは、公式ウェブサイトから無料でダウンロードできる無料のマルウェア対策ツールです。この問題を解決した後(購入して他の問題に備えたい場合を除いて)完全なスイートは必要ないので、ここをクリックして試用版をダウンロードしてください。
  1. PCのDownloadsフォルダーでWebサイトからダウンロードした実行可能ファイルを見つけ、ダブルクリックしてコンピューターで開きます。
  2. Malwarebytesをインストールする場所を選択し、画面に表示されるインストール手順に従ってインストールプロセスを完了します。
  1. [スタート]メニューまたはデスクトップでMalwarebytesを見つけて開き、アプリケーションのホーム画面で利用可能な[ スキャン ]オプションを選択します。
  2. ツールはおそらくウイルスデータベースを更新するために更新プロセスを起動し、スキャンを続行します。プロセスが完了するまでしばらくお待ちください。パソコンでマルウェアが検出された場合は、マルウェアが削除または検疫されていることを確認してください。
  1. スキャンプロセスの終了後にコンピューターを再起動し、.NETランタイム最適化サービスで引き続き問題が発生するかどうかを確認します。

:コンピューターに存在するマルウェアの種類(ランサムウェア、ジャンクウェアなど)がわかる場合は、他のセキュリティスキャナーも使用する必要があります。それとは別に、1つのスキャナーですべてのタイプのマルウェアを認識して削除することはできないため、他のマルウェアも試すことをお勧めします。

解決策3:サービスを再起動する

サービスを再起動すると、プロセス全体も再起動しますが、特にバグが原因で動作に問題があった場合は、今回はより迅速に完了するはずです。以下をご覧ください。

  1. キーボードのWindowsキー+ Rキーの組み合わせを使用して実行ユーティリティを開きます(これらのキーを同時に押します。新しく開いたボックスに引用符なしで「services.msc」と入力し、[OK]をクリックしてサービスツールを開きます。
  1. リストからNVIDIA Telemetry Containerサービスを見つけて右クリックし、表示されるコンテキストメニューから[プロパティ]を選択します。
  2. サービスが開始されている場合(サービスステータスメッセージのすぐ隣にあることを確認できます)、ウィンドウの中央にある[ 停止 ]ボタンをクリックしてサービスを停止する必要があります。とにかく、スタートをクリックしてもう一度実行します
  1. 他の手順に進む前に、サービスのプロパティウィンドウの[ スタートアップの種類 ]メニューのオプションが[ 自動]に設定されていることを確認してください。スタートアップの種類を変更するときに表示されるダイアログボックスを確認します。

[スタート]をクリックすると、次のエラーメッセージが表示される場合があります。

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

この場合は、以下の手順に従って修正してください。

  1. 上記の手順の1〜3を実行して、サービスのプロパティウィンドウを開きます。移動へのログオンのタブとをクリックして[参照 ...]ボタンをクリックします。
  1. [選択するオブジェクト名を入力してください]入力ボックスの下に、アカウントの名前を入力し、[名前の確認 ]をクリックして、名前が利用可能になるまで待ちます。
  2. 完了したら[OK]をクリックし、プロンプトが表示されたら[ パスワード]ボックスにパスワードを入力します。問題なく起動するはずです!

解決策4:クリーンブートを実行する

場合によっては、必要な最適化が原因で、サードパーティアプリがCPU使用率を高くしている可能性があります。したがって、このステップでは、クリーンブートを実行して、サービスにサードパーティの影響があるかどうかを確認します。クリーンブートガイドに従ってクリーンブートを開始し、CPU使用率が以前と同じくらい高いかどうかを確認します。そうでない場合は、この問題を引き起こしているサードパーティのアプリがあったことを意味します。アプリを1つずつ有効にすることで、この問題の原因を簡単にトラブルシューティングできるようになりました。