Windows 11またはWindows 10のコンピュータで、アプリやゲームが原因でCPU使用率が高くなり、アプリやゲームのプロセスが使用できるCPUリソースの量を削減または制限する必要がある場合があります。この記事では、単一プロセスまたは複数プロセスを持つアプリのCPU使用量を制限する方法を紹介します。
Windows 11/10でプロセスごとのCPU使用量を制限する方法
簡単に言えば、CPU使用率とは、すべてのプログラムが消費するCPUリソースの現在の割合です。一部のプログラムがCPUコアを多く使用し、システムリソースを独占していることに気付いた場合は、以下の方法を使用して、ゲーム/アプリのプロセスまたは複数のプロセスのCPU使用量を制限できます。
- プロセスの優先順位とCPUアフィニティを設定する
- サードパーティ製アプリを使用する
- 最大プロセッサ状態を下げる
これらの方法を詳しく見てみましょう。
1] プロセスの優先順位とCPUアフィニティを設定する
プロセスの優先順位は、Windows OSがすべてのアクティブなプロセスに必要なリソースを割り当てたり、割り当てを解除したりできるようにします。PCユーザーは、タスクマネージャーを介して任意のプロセス/サブプロセスのプロセスの優先順位を変更できますが、システムプロセス以外の場合にのみ行う必要があります。コアシステムプロセスのプロセスの優先順位設定は、変更しないことが最善です。
CPUアフィニティは、プロセスがシステムのCPUコアをより少なく使用するように制限します。PCユーザーは、プロセスが使用できるCPUコアの数を制御するために各プロセスを設定できます。CPUアフィニティを変更することで、他のプロセスで使用できるCPUコアを解放できます。
プロセスの優先順位を設定するには、次の手順を実行します。
- Ctrl + Shift + Escキーを押してタスクマネージャーを起動します。
- タスクマネージャーで、優先順位を変更するプロセスを特定します。
- CPU列をクリックして、プロセスを消費量の降順に並べ替えることもできます。
- プロセスを右クリックして、コンテキストメニューから詳細に移動オプションを選択します。または、詳細タブをクリックして、変更するプロセスを探します。
- 詳細セクションで、プロセスを右クリックして、コンテキストメニューから優先順位の設定を選択します。
- 次に、通常より低い(使用可能な場合はリソースを少し少なく割り当てる)または低い(使用可能になったときにシステムリソースを最も少なく割り当てる)を選択します。
- プロセスの優先順位を変更することの影響を知らせる警告ウィンドウが表示されます。
- 優先順位を変更ボタンをクリックして変更を適用します。
- タスクマネージャーを終了します。
CPU(プロセッサ)のアフィニティを設定するには、次の手順を実行します。
注: msedge.exeなどの複数のプロセスを持つアプリの場合、各実行可能ファイルが異なるタブ、ウィンドウ、またはプラグインを表しているため、各プロセスのCPUアフィニティを設定する必要があります。
- タスクマネージャーを開きます。
- タスクマネージャーウィンドウで、タブが表示されず、情報が少ないアプリがいくつかしかない場合は、詳細をクリックして展開します。
- プロセスタブで、CPU使用量を制限するアプリをクリックして、アプリが実行しているプロセスのリストを展開します。
- 次に、制限するプロセスを右クリックして、詳細に移動を選択します。詳細タブにリダイレクトされます。
- 詳細セクションで、強調表示されたプロセスを右クリックして、アフィニティの設定を選択します。
- プロセッサアフィニティウィンドウでは、ほとんどのプロセスではデフォルトですべてのプロセッサが選択されているため、すべてプロセッサコアでプロセスを実行できます。
- 必要なCPUコアのチェックボックスをオフにするだけです。
- OKボタンをクリックします。
- タスクマネージャーを終了します。
プロセスに対して1つまたは複数のCPUコアのみを制限できますが、少なくとも1つのコアを選択する必要があります。また、この方法では、プログラムを閉じて開くと、Windowsは構成をデフォルトにリセットして、すべてのCPUコアを使用します。したがって、アプリまたはゲームが常に使用可能なCPUコア(CPUアフィニティ)を保持するように強制するには、以下の回避策を使用できます。
プロセスのショートカットを作成してCPUアフィニティと優先順位を永続的に設定する
- まず、プロセスに使用するCPUアフィニティパラメータの16進値を決定します。これを行うには、プロセスに使用するCPUコアの2進数を取得します。
2進数の長さは、CPUコアの数によって決まります。CPUの2進数では、0は「オフ」、1は「オン」を意味します。プロセスに使用する各CPUコアに対して、0を1に変更します。
この記事では、7コアCPUで説明しており、アプリケーションにはCPU 0のみを使用します。使用する2進数は0000001になります。
- 次に、rapidtables.com/convertのコンバータを使用して、2進数を16進数に変換する必要があります。
- 16進数になったら、デスクトップショートカットを作成します。
- ショートカットの作成ウィンドウで、項目の場所を入力してくださいフィールドに以下の構文を入力します。
cmd.exe /c start "ProgramName" /High /affinity # "ProgramPath"
- 構文では、ProgramNameプレースホルダーをプログラムの実際の名前(空または任意の名前)、Lowを任意のCPU優先順位(リアルタイム、高、通常より上、通常、通常より下、低)、#を前に取得した16進数値、ProgramPathをゲームまたはアプリケーションのフルパスに置き換えます。
ショートカットを作成したら、プログラムを実行したい場合は、代わりにこのショートカットを実行します。すると、Windowsはショートカットのコマンドパラメータで設定したCPUアフィニティと優先順位でプログラムを自動的に起動します。ただし、この方法は1つのプロセスでのみ実行されるアプリやゲームでのみ機能することに注意してください。chrome.exe、firefox.exe、またはmsedge.exeのように複数のプロセスで実行されるアプリの場合は、以下の回避策に従って優先順位とCPUアフィニティを強制的に設定する必要があります。
プロセスのPowerShellスクリプトを作成してCPUアフィニティと優先順位を永続的に設定する
- PowerShellスクリプトを作成することから始めます。
- テキストファイルを作成し、任意の名前を付けますが、拡張子は.ps1にします。
- 作成したら、メモ帳またはその他の互換性のあるテキストエディタで.ps1ファイルを開きます。
- テキストエディタに以下の構文を入力します:
Get-WmiObject Win32_process -filter 'name = "chrome.exe"' | foreach-object { $_.SetPriority(64) }
- SetPriority(value)で、優先順位を設定するプロセスの名前と優先順位の値(リアルタイム256、高128、通常より上32768、通常32、通常より下16384、低64)をchrome.exeに置き換えます。
- 次に、プロセスに使用するCPUコアの10進数値を決定する必要があります。同じCPUコアを使用しているので、上記のコンバータで10進数値を確認してください。
- 1つのプロセスのみのCPUアフィニティを設定する場合は、以下のコマンドラインをPowerShellスクリプトに入力します。
$Process = Get-Process Messenger; $Process.ProcessorAffinity=1
- 同じ名前のすべてプロセスのCPUアフィニティを設定するには、chrome.exe、firefox.exe、またはmsedge.exeなど、以下のコマンドラインをPowerShellスクリプトに入力します。
ForEach($PROCESS in GET-PROCESS chrome) { $PROCESS.ProcessorAffinity=1}
- 値1をコンバータから取得した10進数値に、chromeをCPUアフィニティを設定するプロセスの名前に置き換えます。
- テキストエディタを保存します。
- スクリプトを実行するには、ファイルを右クリックしてPowerShellで実行を選択します。
デフォルトでは、Windowsはシステム上でスクリプトを実行することを許可しません。スクリプトを実行できるようにするには、プロンプトが表示されたらYを押します。スクリプトは実行され、すべてのコマンドを実行した後、終了します。実行ポリシーが原因でスクリプトの実行に問題が発生した場合は、PowerShellスクリプトの実行をオンにしたり、項目の場所を入力してくださいフィールドに以下のコマンドを使用して、前に作成したps1スクリプトを指すデスクトップショートカットを作成したりできます。
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -ExecutionPolicy Bypass -File "FullPathToPowerShellScript"
- FullPathToPowerShellScriptプレースホルダーをPS1スクリプトファイルの実際のパスに置き換えます。WindowsがC:ドライブにない場合、またはPowerShellが別の場所にインストールされている場合は、C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exeをシステム上のpowershell.exeへのパスに置き換えます。
2] サードパーティ製アプリを使用する
この方法は、タスクマネージャーを使用してCPU使用量を制限することの欠点、つまりプログラムの再起動後に設定がリセットされるという問題も解決します。したがって、プログラムのリソース使用量を管理するためのより包括的なソリューションが必要な場合は、Process Lasso、Bill2 Process Manager、Process Tamerなどのサードパーティ製アプリを試すことができます。
Process Lassoを使用してプロセスのCPU使用量を制限するには、次の手順を実行します。
注: このユーティリティまたはその他のユーティリティで大きな変更を加える場合は、続行する前に復元ポイントを作成することをお勧めします。
- システムに適切なバージョンのユーティリティをダウンロードしてインストールします。
- 次に、昇格された権限でアプリケーションを起動します。
- 目的のプロセスを右クリックして、要件に応じて優先順位とアフィニティを変更します。
- コンテキストメニューから常にオプションを選択して変更を加えます。現在オプションを選択すると、プログラムが再起動するまでのみ適用されます。
- 完了したら、アプリを終了できます。
3] 最大プロセッサ状態を下げる
この方法は、上記で説明した2つの方法ほど侵襲的ではありません。この設定を使用すると、CPUが達成できる最大速度を制限することができ、その結果、プロセッサのタスクが軽減され、PCの過熱を防ぐことができます。
CPUの最大プロセッサ状態を下げるには、次の手順を実行します:
- コントロールパネルを開きます。
- 電源オプションをクリックします。
- システムのアクティブな電源プランの横にあるプラン設定の変更オプションをクリックします。
- 次に、電源オプションの詳細設定の変更をクリックします。新しい電源オプションウィンドウが起動します。
- プロセッサの電源管理オプションを見つけて展開します。
- 最大プロセッサ状態オプションをクリックして値を編集します。
- デフォルトでは、値は100パーセントに設定されています。バッテリ駆動時と電源に接続時の両方のオプションを80パーセントに変更します。
- 適用>OKをクリックして変更を保存し、ウィンドウを閉じます。
上記の設定により、CPUはピーク時の負荷でも容量の80パーセントで動作します。
以上です!
Windows 11/10でプログラムにCPUをより多く割り当てる方法
CPUはプログラムに割り当てられていません。プログラムは同時に実行される実行スレッドを作成します。異なるCPUは、同時に実行できるスレッドの数が異なります。プログラムがCPUがサポートする最大スレッド数と同じかそれ以上のスレッドを作成すると、CPUをより多く消費する可能性があります。
プロセスのCPU使用量を制限できますか?
Windows 11/10コンピュータでプロセスのCPU使用量を制限する最も簡単な方法は、プロセッサの電力を制限することです。コントロールパネルに移動します。最大プロセッサ状態を80%または任意の値に下げます。「Speed fan」などのCPU温度を測定するソフトウェアを使用すると、温度が下がっていることがわかります。
タスクマネージャーのCPU使用率が非常に高いのはなぜですか?
タスクマネージャーに何も表示されないときにCPU使用率が高い場合の最悪のシナリオは、バックグラウンドで実行されるウイルス感染または悪意のあるソフトウェアです。コンピュータの損傷につながる可能性のあるランサムウェアやその他のタイプのウイルスから身を守るために、Windows Defenderを更新して実行するか、信頼できるサードパーティ製AVをインストールしてください。
Windows 11ですべてのコアを有効にする必要がありますか?
タスクを高速化するために必要な場合にのみ使用されます。ただし、一部またはすべてを手動で有効にすることができます。コンピュータの動作が遅く、改善できると考える場合は、すべてのコアを手動で有効にして、それらの間のワークロードを分散することで、パフォーマンスを向上させることができます。
CPU使用率400%とはどういう意味ですか?
マルチコアUnix/Linuxコンピュータでは、100%の使用率は、コアの1つだけが最大限に活用されていることを示します。150%の使用率は、1.5コアだけが容量に達していることを示します。したがって、たとえば、8コアボックスでは、400%の使用率では、実際に使用している量の2倍の余裕があります。
CPU使用率の適切なパーセンテージとは?
最適なCPU使用率は、おそらく最大で80~80%程度でしょう。これは、CPU使用率の急増に対応する余裕を持たせながら、CPUの機能をより多く活用していることを意味します。
コメントする