Windowsで特定のCPUコアをアプリケーションに割り当てる方法

AMD Ryzen CPUのクローズアップ

最新のPCは複数のCPUコアを持ち、通常、WindowsはどのCPUコアがどの仕事を行うかを上手く選択します。しかし、特定のCPUコアをアプリに割り当てることで、パフォーマンスを向上させたり、特定の問題を解決したりすることができます。これをプロセッサの「アフィニティ」を設定することと呼びます。

ヒント: CPUが過負荷になっていますか?Windowsでの100% CPU使用率を修正する方法を学びましょう。

目次

  • なぜプロセッサのアフィニティを設定するのか?
  • Windowsでプロセッサのアフィニティを設定する方法
  • Windowsでプロセスの優先度を設定する方法
  • プロセッサのアフィニティに注意が必要な場合
  • よくある質問

なぜプロセッサのアフィニティを設定するのか?

Windowsでプロセッサのアフィニティを設定したい一般的な理由には以下が含まれます。

  • パフォーマンスの向上: プロセスのプロセッサのアフィニティを設定することで、特定のCPUコアでのみ実行されることを保証でき、パフォーマンスが向上します。たとえば、特定のコアに大きく依存するプロセスがある場合、そのコアにアフィニティを設定することで、効率的に実行できます。
  • コンフリクトの回避: 場合によっては、プロセスのプロセッサのアフィニティを設定することで、システム上で実行されている他のプロセスとの競合を避けるのに役立ちます。例えば、2つのプロセスが同じコアを使用しようとする場合、1つのプロセスのアフィニティを設定することで競合を防ぎ、システム全体のパフォーマンスを向上させることができます。
  • 問題のトラブルシューティング: 時には、プロセスのアフィニティを設定することで、CPU使用率やパフォーマンスに関連する問題をトラブルシューティングするのに役立ちます。特定のコアにプロセスを隔離することで、そのプロセスがシステムにどのように影響を与えるかをより良く理解し、潜在的な問題を特定できます。

CPUピンとコンタクトのクローズアップ

Intelの新しいハイブリッドアーキテクチャCPU(Alder Lakeモデル以降)を使用している場合、アプリが適切なコアタイプで実行されるように手動でプロセッサのアフィニティを使用することを検討するかもしれません。特にWindows 10ユーザーは、CPUスケジューラが高パフォーマンスを必要とするアプリをEコア(効率コア)に、要求が少ないアプリをPコア(パフォーマンスコア)に割り当てることに気付くかもしれません。

Windows 10の最新バージョンまたはWindows 11の任意のバージョンを実行している場合、ごく普通の運用中に問題が発生することは少ないでしょう。しかし、特に古いアプリケーションは、この新しいデスクトップCPUアーキテクチャに期待通りに機能しないことがあります。

ヒント: 定期的なコンピューターメンテナンスの一環として、時折CPU温度をチェックすると、PCの寿命を延ばすのに役立ちます。

Windowsでプロセッサのアフィニティを設定する方法

Windowsでプロセッサのアフィニティを設定するには、次の手順を実行します。

Ctrl + Shift + Escを押してタスクマネージャを開きます。詳細タブをクリックして、実行中のプロセスのリストを表示します。

タスクマネージャのプロセスリスト

プロセッサのアフィニティを設定するプロセスを右クリックし、コンテキストメニューからアフィニティの設定を選択します。

タスクマネージャでプロセスのアフィニティを設定

表示されるポップアップで、プロセスが実行されるCPUに対してチェックボックスを選択します。

タスクマネージャでプロセッサのアフィニティを選択

変更を保存するためにOKをクリックし、ウィンドウを閉じます。

Windowsでプロセスの優先度を設定する方法

さらに、Windowsでプロセスの優先度を設定し、システムに特定のプロセスにCPUリソースを割り当てるように強制するには、次の手順に従います。

Ctrl + Shift + Escを押してタスクマネージャを開き、詳細タブをクリックして実行中のプロセスのリストを表示します。優先度を設定したいプロセスを右クリックし、コンテキストメニューから優先度の設定を選択します。

タスクマネージャでプロセスの優先度を設定

ドロップダウンメニューから希望の優先度レベルを選択し、変更を保存するためにOKをクリックします。

利用可能な優先度レベルは以下の通りです:

  • リアルタイム: プロセスには最高の優先度と最も多くのCPU時間が与えられます。
  • : プロセスには高い優先度が与えられ、かなりのCPU時間が割り当てられます。
  • 標準以上: プロセスには通常より高い優先度が与えられ、標準のプロセスよりも多くのCPU時間が割り当てられます。
  • 通常: プロセスは優先され、標準のCPU時間が割り当てられます。
  • 標準以下: プロセスには通常以下の低い優先度が与えられ、通常のプロセスよりも少ないCPU時間が割り当てられます。
  • : プロセスには低い優先度が与えられ、最小限のCPU時間が割り当てられます。

知っておくと良いこと: コンピュータのCPUが最適な温度に保たれていることを確認するためにCPUクーラーへの投資を検討してください。

プロセッサのアフィニティに注意が必要な場合

プロセッサのアフィニティを手動で割り当てることは、いくつかのリスクを伴う場合があります。以下はそのリスクの一部です:

ノートパソコンの前に座る女性

  • パフォーマンスの低下: プロセスのアフィニティを誤って設定すると、パフォーマンスが低下することがあります。たとえば、ワークロードを処理できないCPUコアにプロセスを割り当てると、プロセスは遅く実行されるか、応答がなくなる可能性があります。
  • システムの不安定性: プロセスのアフィニティを設定すると、システム全体のパフォーマンスや安定性に影響を与えることがあります。すでに高い利用率のコアにプロセスを割り当てると、システムが不安定になったり、クラッシュする可能性があります。
  • 柔軟性の低下: プロセッサのアフィニティを手動で割り当てると、システムの柔軟性が制限されることがあります。たとえば、プロセスのアフィニティを設定すると、割り当てられたコアでのみ実行でき、他のコアが利用可能になっても、それらのコアでの実行ができなくなります。これにより、変動するワークロードに適応したり、システム障害に対処することが難しくなります。
  • セキュリティの脆弱性: 一部の場合、プロセッサのアフィニティを手動で設定することで、セキュリティの脆弱性が生じる可能性があります。たとえば、悪意のあるプロセスにアフィニティを設定すると、セキュリティソフトウェアが脅威を検出したり、軽減したりするのを妨げることがあります。

全体として、プロセッサのアフィニティを手動で設定することは、システムのパフォーマンスを最適化するための有用なツールとなることがありますが、注意して使用し、潜在的なリスクを明確に理解することが重要です。

ヒント: 新しいCPUを購入する予定ですか?私たちのCPU購入ガイドでは、デスクトッププロセッサで探すべきポイントを示しています。

よくある質問

Windowsにおけるプロセッサのアフィニティとは何ですか?

WindowsのCPUまたはプロセッサのアフィニティ設定により、プロセスをCPUの特定の物理コアにバインドすることができ、そのコアのみで実行されます。これにより、特に負荷の高いプロセスに最適なコアを利用したり、アプリケーションのCPU使用率を制限したり、複数のコアに影響を与えるパフォーマンスの問題を診断したりすることができます。

WindowsのCPU優先度とは何ですか?

WindowsのCPU優先度は、CPUに送信されるさまざまなタスクや要求を優先するために使用されるスケジューリングシステムです。Windowsは、どのプロセスが他よりも重要かを判断し、それに応じてCPUリソースを優先的に割り当てます。

Windowsで全てのCPUコアを一つのアプリに割り当てることはできますか?

はい、アプリのプロセッサのアフィニティを設定して、全ての利用可能なコアを含むようにすることで、全てのCPUコアを一つのアプリに割り当てることができます。ただし、全てのCPUコアをアプリに割り当てると、システムのパフォーマンスと安定性に影響を与える可能性があります。

どのアプリがコアアフィニティの割り当てから最も恩恵を受ける可能性がありますか?

Adobe Premiere Pro、Blender、Maya、3ds Max、MATLAB COMSOL、ANSYS、DaVinci Resolveなどのアプリは、非常にCPUを消費する可能性があり、特定のCPUコアに割り当てられることで恩恵を受けることがあります。

アフィニティはいつリセットされますか?

手動で割り当てたプロセッサのアフィニティは自動的にはリセットされません。プロセスのプロセッサのアフィニティを設定すると、それが変更されるかプロセスが終了するまで、選択されたプロセッサに割り当てられたままです。

ただし、プロセスのアフィニティがリセットされる場合があります。たとえば、コンピュータを再起動したときや、プロセスが終了して再起動すると、プロセスのアフィニティはデフォルト値にリセットされます。

画像提供: Unsplash。すべてのスクリーンショットはTanveer Singhによるものです。