Windows 10 で CPU コアをプログラムに手動で割り当てるにはどうすればよいですか?

パフォーマンスの低いハードウェアを使用していて、お気に入りのプログラムのパフォーマンスを向上させたい場合は、それらのプログラムに CPU コアを割り当てることができます。

Windows 10 には、パフォーマンスを向上させるために調整できるオプションが多数あります。 Windows 10 の CPU アフィニティ機能と CPU 優先機能は最も独創的な機能の 1 つであり、PC のパフォーマンスを即座に向上させる特効薬ではありませんが、ハードウェアが古くなった場合には効果をもたらします。

プロセスの機密性を考慮すると、パフォーマンスが低下することを受け入れる場合にのみ、CPU アフィニティと CPU 優先度を設定する必要があります。ただし、システムを最高の状態に変更する準備ができている場合は、Windows 10 で CPU アフィニティと CPU 優先度を設定する方法を見てみましょう。

Windows 10 の CPU アフィニティとは何ですか?

すべてのオペレーティング システムには、基礎となるスケジューリング アルゴリズムがあります。スケジューリング アルゴリズムは、コンピューティング リソースをさまざまなプロセスまたはスレッドに分散する役割を果たします。 Windows 10 では、数百のプロセスを同時に実行できます。

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

したがって、プロセッサ アフィニティは、スケジューラへのユーザー介入として考えることができます。通常、Windows のスケジューリング アルゴリズムによって、どのプロセスがどの CPU コアで実行されるかが決定されます。プロセッサ アフィニティを手動で設定すると、プロセスまたはスレッドを選択したコア上で強制的に実行できます。

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

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

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

上で説明したように、Windows 10 では常に数百のプロセスまたはスレッドが CPU 時間を競合する可能性があります。重要な実行プロセスとスレッドが CPU リソースに優先的にアクセスできるようにするために、Windows スケジューリング アルゴリズムは各プロセスに優先順位を割り当てます。オペレーティング システムの実行スレッド。

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

したがって、プロセスの CPU 優先順位を手動で高く設定すると、Windows スケジューラによって、そのプロセスが CPU リソースに優先的にアクセスできるようになります。

最後に、CPU 優先度は CPU アフィニティとは大きく異なります。プロセスの CPU 優先度を設定すると、そのプロセスの処理方法がスケジューラに通知されますが、プロセッサ アフィニティを設定すると、プロセスが 1 つ以上の特定の CPU コアにロックされます。 CPU アフィニティを設定すると、プロセスの優先順位が高くても低くても、指定されたカーネル/コアで実行されます。

特定のプロセッサ コアにプログラムを割り当てる必要があるのはなぜですか?

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

これは、最新のオペレーティング システムのスケジューラにとって問題を引き起こします。互換性を損なうことなく、マルチスレッド プロセッサ上でシングル スレッドのプロセスをスケジュールするにはどうすればよいでしょうか。

ほとんどの場合、最新のスケジューラは、最新のプロセッサ上のシングルスレッド プロセスを効率的にスケジュールします。しかし、互換性が悪いために古いプログラムが壊れることもあります。ここで、プロセッサ アフィニティの構成が役に立ちます。

CPU アフィニティは、プロセスを指定された CPU コアでの実行に制限します。古いシングルスレッド プログラムの場合は、CPU アフィニティを設定することで、これらのプロセスを単一の CPU コアに制限できます。

さらに、非力なマシンを使用している人も、重要なタスクに高い優先順位を設定することで恩恵を受けることができます。たとえば、ビデオ編集者の場合、ビデオのレンダリングを開始する前に、レンダリング プログラムに高い優先順位を設定できます。こうすることで、ビデオをレンダリングするときに、Windows はビデオの処理にほとんどの注意を注ぐことを認識します。

CPU アフィニティと CPU 優先度を設定するにはどうすればよいですか?

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

  • 開けてくださいタスクマネージャーWindows 10 タスクバーを右クリックし、タスクマネージャー。次に、アフィニティを設定するプロセスに移動します。
  • 次に、このプロセスを右クリックして選択します詳細へ
  • 選択したプロセスは、表示される新しいパネルで強調表示されます。強調表示されたプロセスを右クリックして、アフィニティを設定する。パネルCPU アフィニティと表示されます。
  • パネル内プロセッサーのアフィニティ、プロセスを実行したくない CPU コアの選択を解除します。次にクリックしますわかりました。これで CPU アフィニティが設定され、選択したプロセスは選択した CPU コアでのみ実行されるようになります。
  • CPU 優先度を設定するには、プロセス内の任意のプロセスを右クリックします。タスクマネージャーそして選択します詳細へ
  • 次に、強調表示されたプロセスを右クリックし、優先順位を設定する
  • 表示されるリストから優先度を選択します。必要なときにいつでもプロセスを実行したい場合は、リアルタイム

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

  • 優先順位オート一方、高優先度に設定しすぎない限り、より安全です。
  • リスト内の他のオプション、つまり通常以上普通正常以下などバス、明示的です。

何をしているのかわからない場合は、CPU アフィニティと CPU 優先度を設定しないでください。

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