web-dev-qa-db-ja.com

Windowsのプロセスにデフォルトのアフィニティを設定するにはどうすればよいですか?

Windows 7でいくつかのベンチマークを実行したいと思います。これらのベンチマークは、マルチコアCPUでのハイパースレッディングと関係があります。このため、ベンチマークのみが独自の論理プロセッサで実行されていることを確認したいと思います。プロセスに対して明示的に許可しない限り、特定の論理プロセッサで何もスケジュールしないようにWindowsに指示する方法はありますか?

タスクマネージャで一度に1つのプロセスでこれを手動で行うことは、オプションではありません。これを繰り返し実行できるようにしたいと思います(多くのベンチマークを何度も実行します)。現在実行中のプロセスのアフィニティをプログラムで設定する方法を知っています。

すべてのプロセスにデフォルトのアフィニティを設定できる構成はありますか?

5
Nathan Fellman

Process Lasso これをサポートします!無料版と有料版が付属しており、CPUアフィニティは常に無料です...

*フィールドにName matchを入力するだけで、すべてのプロセスが対象になります。

次に、プログラムを追加して別のアフィニティを持たせることができると思います。ルールを入力する順序が重要になる場合があります。また、下部にあるMore strictly enforce default affinitiesにチェックマークを付けることもできます。

enter image description here

12
Tamara Wijsman

タスクマネージャーのプロセスに入り、プロセスを右クリックすると、アフィニティを選択できるはずです。

enter image description here

コアを無効にするには、msconfigを使用できます。プロセスごとに有効にできるとは思いません。

2
Pubby
  1. スタートメニューを開く
  2. msconfigと入力し、Enterキーを押します
  3. bootとマークされたタブに移動します
  4. 選択したOSを強調表示し、詳細オプションを押します。
  5. プロセッサの数を確認し、必要な数だけ使用します。

これにより、ウィンドウ(およびその他すべて)は指定されたプロセッサの数のみを表示して使用します。したがって、残りの部分は事実上完全に無効になります。使用可能なコアの数を超えて使用することはありません(使用できます)。

enter image description here

0
Simon Sheehan