web-dev-qa-db-ja.com

Windowsにすべてのコアを使用させる

私はWin8.1と、2(4)(論理)コアを備えたIntelCPUを持っています。

ただし、Windowsは1つのコアしか使用しません。タスクマネージャーは、最初のCPUを100%で永続的に表示します。他のすべてはほとんどアイドル状態です。

数時間の検索の後、WindowsがすべてのプロセスのアフィニティをCPU0に設定していることがわかりました。タスクマネージャーでは、他のCPU(またはすべて)へのプロセスのアフィニティをリセットできましたが、他のコンピューターでも必要ありません。

Msconfig以外のアイデアはありますか(インターネットでよく耳にしますが、問題は解決しません。Windowsは他のCPUを認識しているため、使用されていません)。

2
Dániel Somogyi

わかった;プリインストールされているIntelソフトウェアの一部がCPUを抑制しました。プログラムと機能に移動し、Intelサーマルプラットフォームを削除すると修正され、再起動するとすべてが修正されました。

1
Dániel Somogyi

このリンクを読んでください サイキックデバッグ

このPowershell(管理者として実行)スクリプトは、アフィニティが設定されているプロセスの検出に役立つ場合があります。

get-process | Select Name,ProcessorAffinity

このスクリプトは、HTを備えた2コアプロセッサ(ハイパースレッディングを備えた4コア= 255)の場合、少なくとも一時的に、使用可能なすべての(1 + 2 + 4 + 8)プロセッサ= 15にマスクを設定する可能性があります。

get-process |
  Where{ $_.ProcessorAffinity -eq 1} |
    Foreach{ $_.ProcessorAffinity = 15 }
2
LotPings