Windows10のプログラムにCPUコアを手動で割り当てる方法

Windows 10には、パフォーマンスを向上させるためにいじることができる多くのオプションがあります。 Windows10のプロセッサ親和性とCPU優先度の機能は、その最も独創的な機能の一部であり、パフォーマンスを即座に向上させるための特効薬ではありませんが、ハードウェアが古くなっている場合に違いが生じます。

プロセスの機密性を考えると、南下することに慣れている場合にのみ、プロセッサ親和性とCPU優先度を設定する必要があります。ただし、システムを可能な限り最高の状態に調整する場合は、Windows10でプロセッサ親和性とCPU優先度を設定する方法を調べてみましょう。

Windows 10のプロセッサ親和性とは何ですか?

すべてのOSには、基盤となるスケジューリングアルゴリズムがあります。スケジューリングアルゴリズムは、コンピュータリソースをさまざまなプロセスまたはスレッドに分散する役割を果たします。 Windows 10では、何百ものプロセスが同時に実行される可能性があります。

CPUはこれらすべてのプロセスを同時に処理できないため、スケジューリングアルゴリズムがこれらのプロセスを管理し、いくつかの要因に基づいてCPU時間を割り当てます。

そのため、Processor Affinityは、ユーザーがスケジューラーに干渉していると考えることができます。通常、Windowsのスケジューリングアルゴリズムは、どのプロセスがどのCPUコアで実行されるかを決定します。プロセッサアフィニティを手動で設定すると、プロセスまたはスレッドを任意のコアで強制的に実行できます。

簡単に言うと、 Processor Affinityを使用すると、1つ以上のCPUコアを任意のプロセスまたは選択したスレッドに割り当てることができます。アフィニティを設定したプロセスまたはスレッドは、指定されたコアでのみ実行されます。

ただし、これによってコアがこれらのプロセスのみに排他的になるわけではありません。 Windowsは、これらのコアに異なるプロセスを割り当てることができます。プロセッサアフィニティの設定は、割り当てられたコアでのみ実行されるようにすることで、選択したプロセスにのみ影響します。

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

上で説明したように、Windows 10では常にCPU時間について何百ものプロセスまたはスレッドが競合する可能性があります。重要なプロセスとスレッドがCPUリソースに優先的にアクセスできるようにするために、Windowsschedularは各プロセスとスレッドに優先順位を割り当てます。 OS上で実行されています。

たとえば、Windowsのスケジューリングアルゴリズムは、システムやWindowsエクスプローラーなどの重要なWindowsプロセスに高い優先度を与えます。これらのプロセスがキューにある場合、優先度の低いプロセスの前にCPUにアクセスします。

関連:絶対に殺してはならないWindowsタスクマネージャーのプロセス

したがって、プロセスのCPU優先度を手動で高く設定すると、Windowsスケジュールは、プロセスがCPUリソースへの優先アクセスを取得することを確認します。

最後に、CPU優先度はプロセッサ親和性とはかなり異なります。プロセスのCPU優先度を設定すると、そのプロセスの処理方法がスケジュールに通知されますが、プロセッサアフィニティを設定すると、プロセスが特定のCPUコア/コアにロックされます。プロセッサアフィニティが設定されていると、プロセスの優先度が高いか低い場合でも、指定されたコアで実行されます。

プログラムを特定のCPUコアに割り当てたい理由

現代のコンピューティングが直面しなければならない最大の問題の1つは、多数のシングルスレッドプログラムです。ほとんどのプロセッサがクアッドコア以上である2021年でも、一部のプログラムは利用可能な多くのコアのうちの1つのみを利用します。

関連: Intel Core i3 vs. i5 vs. i7:どのCPUを購入する必要がありますか?

これは、最近のOSスケジューラに問題をもたらします。互換性を損なうことなく、マルチスレッドプロセッサでシングルスレッドプロセスをどのようにスケジュールしますか?

ほとんどの場合、最新のスケジューラーは、最新のCPUでシングルスレッドプロセスを効率的にスケジュールします。ただし、互換性が低いためにレガシープログラムが機能しなくなる場合があります。これは、プロセッサ親和性の設定が役立つ場合があります。

Processor Affinityは、指定されたCPUコアでの実行にプロセスを制限します。従来のシングルスレッドプログラムの場合、Processor Affinityを設定することで、このようなプロセスを1つのCPUコアに制限できます。

これとは別に、マシンが弱い人は、重要なタスクに高い優先度を設定することでメリットを得ることができます。たとえば、ビデオエディタの場合、ビデオレンダリングを開始する前に、レンダリングプログラムを高い優先度に設定できます。そうすれば、ビデオをレンダリングしたいときに、Windowsはビデオのかき回しにほとんどの注意を向けることを知っています。

CPUアフィニティとCPU優先度を設定する方法

プロセッサアフィニティとCPU優先度を設定するには、タスクマネージャを開いて、そこから先に進む必要があります。

そのため、Windows 10タスクバーを右クリックして[タスクマネージャー]を選択し、タスクマネージャーを開きます。次に、アフィニティを設定するプロセスに移動します。

次に、そのプロセスを右クリックして、[詳細に移動]を選択します。

選択したプロセスは、ポップアップする新しいパネルで強調表示されます。強調表示されたプロセスを右クリックし、[アフィニティの設定]を選択します。 ProcessorAffinityパネルがポップアップします。

[プロセッサアフィニティ]パネルで、プロセスを実行しないCPUコアの選択を解除します。その後、[ OK ]をクリックします。これでプロセッサ親和性が設定され、選択したプロセスは選択したCPUコアでのみ実行されます。

CPU優先度を設定するには、タスクマネージャーで任意のプロセスを右クリックし、[詳細に移動]を選択します。

次に、強調表示されたプロセスを右クリックし、[優先度の設定]をクリックします。

次に、ポップアップするリストから優先度を選択します。プロセスを必要なときにすぐに実行する場合は、[リアルタイム]を選択します。

ただし、リアルタイムを選択すると、他の、場合によっては重要なシステムプロセスがキューで待機することになります。これにより、最も軽度の場合は一般的なシステムの速度低下、最悪の場合は完全なシステム障害が発生する可能性があるため、プロセスをリアルタイム優先度に設定する場合は注意が必要です。

高い優先順位は、他の一方で、限り、あなたは高い優先度にあまりにも多くのプロセスを入れないよう選択することが安全です。

リストの他のオプション、つまり、通常より上、通常通常より、および低は、自明です。

何をしているのかわからない場合は、プロセッサ親和性とCPU優先度を設定しないでください

何をしているのかがわかっている場合にのみ、プロセッサ親和性とCPU優先度を設定する必要があります。パフォーマンスの向上は、場合によっては大きなものですが、問題が発生した場合に発生する可能性のある問題の価値はありません。速度低下からランダムなシステムクラッシュまで、アフィニティと優先度の設定は最後の選択肢にすぎません。

Windows 10のパフォーマンスを向上させる方法は、プロセッサ親和性とCPU優先度だけではありません。古いハードウェアからパフォーマンスを引き出すために使用できるハードウェアとソフトウェアの両方のトリックが無数にあります。