最新の CPU はほぼすべてマルチコアです。 最新バージョンの Windows はマルチプロセッサ CPU をサポートしており、デフォルトですべてのコアがアクティブになります。
コンテンツ:
- Windows で使用可能な CPU とコアの数を確認する
- Windows ですべてのコアを有効にする方法
- Windows でアプリを特定のコアに制限する方法 (CPU アフィニティ)
- Windows起動時に使用するコア数を変更する
Windows には、バージョンとエディションに応じて、サポートされる物理 CPU とコア (論理プロセッサ) の最大数に厳しい制限があります。
- Windows 10 x86 (Enterprise Pro、Home) - 最大 2 つの CPU と 32 個の論理プロセッサ (物理コアとハイパースレッディング仮想コアの両方が考慮されます)
- Windows 10/11 x64 — 最大 2 CPU および 256 個の論理プロセッサ
- Windows Server 2022/2019/2016/2012R2 – 最大 64 個の物理プロセッサと 640 個の論理コア
- Windows Server 2008 R2 – 256 論理コア
Windows で使用可能な CPU とコアの数を確認する
Windows で利用可能な物理 CPU、コア、論理プロセッサの数は、タスク マネージャーを使用して確認できます。
- 走る
taskmgr.exe
そして、に行きます パフォーマンス タブ。 - を選択 CPU タブ;
- 使用可能な CPU (ソケット)、物理コア (24 コア)、および論理プロセッサの数が表示されます。
論理プロセッサーは、コンピューターでハイパースレッディングが有効になっている場合に使用可能な論理コアの数を示します。
デバイスマネージャー (devmgmt.msc
) は、使用可能な論理プロセッサの数も示します。
物理 CPU とそのコア数に関する情報は、「プロセッサ」セクションでも確認できます。 msinfo32.exe
道具:
Processor Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz, 2394 Mhz, 12 Core(s), 24 Logical Processor(s) Processor Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz, 2394 Mhz, 12 Core(s), 24 Logical Processor(s)
PowerShell を使用して、使用可能なコアと論理プロセッサの数を確認できます。
Get-WmiObject -class Win32_processor | ft NumberOfCores, NumberOfLogicalProcessors
NumberOfCores NumberOfLogicalProcessors. 12 24.
特別な Windows 環境変数には、論理プロセッサ番号情報も含まれています。
echo %NUMBER_OF_PROCESSORS%
Windows ですべてのコアを有効にする方法
Windows ですべての CPU コアが使用できない場合は、BIOS/UEFI 設定でそれらの CPU コアが有効になっていることを確認してください。 ここには 2 つのオプションがあります。
- ハイパースレッディング – 物理 CPU コアの両方の論理プロセッサの使用を可能にします
- アクティブなプロセッサ コア – コアの数を有効または無効にするオプション。
Windows を再起動し、BIOS 設定を入力します (通常は F2
, Del
, F10
、 または F1
キー)。
特定のオプション名と利用可能性は、BIOS バージョンと CPU モデルによって異なります。 私の場合、すべての CPU オプションは [プロセッサー構成] セクションにあります。
- すべてのハイパースレッディング:
Enabled
- アクティブなプロセッサ コア:
All
これらの設定は、Advanced または Extreme Tweaker セクションにあり、Processor Options、AMD Core Select、Processor Core、Active Processor Cores、Core Multi-Processing、CPU Cores などと呼ばれる場合があります。
Windows でアプリを特定のコアに制限する方法 (CPU アフィニティ)
Windows では、1 つまたは特定の CPU コアでのみ実行されるようにアプリケーションを構成できます。 デフォルトでは、Windows アプリは任意のコアで実行できます。
使用できます プロセッサーのアフィニティ プログラムを特定のコアにバインドする機能。 これは、プログラムの CPU 使用率を制限したり、シングル コアで実行したりする場合に必要になる場合があります (これは、マルチコア コンピューターで適切に動作しないレガシー アプリを実行する場合に必要になる場合があります)。
タスク マネージャーで実行中のアプリのコア アフィニティを変更できます。
- を開きます 詳細 タブ;
- アプリプロセスを見つけて右クリックします。 選択する アフィニティを設定する;
- アプリの命令の実行が許可されている物理コアをマークします。
コマンド プロンプトを使用して単一コアでのみアプリケーションを実行できます。 この例では、アプリを次のように制限します。 CPU0.
cmd.exe /c start /affinity 1 "C:\MyApp\myappname.exe"
Windows起動時に使用するコア数を変更する
Windows は常に 1 つのコアのみを起動に使用します。 システム構成を使用して、Windows の起動時にすべてのコアの使用を許可できます。
- 開ける
msconfig
; - クリック ブート タブをクリックしてエントリを選択します。
- クリック 高度なオプション;
- を選択 プロセッサの数 ブート詳細オプションのオプション。
- 起動プロセス中に使用できる論理プロセッサ (スレッド) の数を選択します。 .
起動時に使用可能なプロセッサの数を増やしても、Windows の起動は速くなりません。 また、このオプションを使用すると、場合によっては、特に PCI ロック オプションが有効になっている場合、Windows のブート問題が発生する可能性があります (BAD SYSTEM CONFIG INFO ブート エラー)。 したがって、通常、このオプションを有効にして構成することはお勧めできません。