連載
» 2016年12月21日 05時00分 UPDATE

Tech TIPS:Windows OSでサポートされている最大CPU数/コア数/スレッド数(論理プロセッサ数)は?

Windows OSでは、アーキテクチャやエディションなどにより、利用可能なCPUの数やコア数、スレッド数(論理プロセッサ数)などに制限がある。Windows OSごとの制限をまとめておく。

[打越浩幸,デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows 7/Windows 8.x/Windows 10/Windows Server 2008/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2/Windows Server 2016


 PCにはCPU(プロセッサ。例えばIntel Core i7-6700など)とメモリが必ず搭載されているが、そのCPU性能やメモリサイズはシステムによって大きく異なっている。クライアント用途向けのPCは、CPUも1つで、メモリも数GBしか搭載していないものがほとんどだろう。だが、サーバ用途向けには2つ以上のCPUと数十〜数百GB、場合によっては数TB(1TB=1024GB)ものメモリを搭載したシステムが存在する。

 ところが、いくら多くのCPUやメモリを搭載していても、Windows OSのバージョンによってはそれらを全て使うことはない。特に古いWindows OSや、32bit CPUの場合はかなり制限を受けることになる。

 Windows OSごとに、いくらの最大物理メモリまでサポートされているかについては、以下のTIPSにまとめてあるので参考にしていただきたい(これはOSの仕様上の最大サポートサイズ。実際にPCに搭載可能な最大メモリサイズは、システムごとに大きく異なる)。

CPUの「ソケット」「コア」「スレッド」とは?

 メモリサイズ制限と同様に、Windows OSのバージョンやエディションによってサポートされているCPU数も異なっている。ただしCPUの場合は数え方が少し特殊なので、先に説明しておく。

●ソケット数

 「ソケット」数とは、CPUを幾つ搭載できるかという数。一般的なクライアントPCはCPUを1つしか搭載できないが(1ソケット)、ハイエンドデスクトップPCやサーバシステムでは、CPUを2つ以上搭載できるもの(マルチソケット)がある。

●コア数

 「コア」とはCPUの基本処理単位。レジスタやALU(演算装置)、命令のデコード&実行装置などを備え、マシン語で記述されたプログラムを実行する、CPUの核となる部分である。昔のプロセッサは1 CPU=1コア(シングルコア)だったが、現在では処理能力を高めるために、1つのプロセッサ内に複数のコア(マルチコア)を搭載して、同時に処理を行えるようにしているものがほとんどである。各コアは基本的には独立して動作しているが、キャッシュやバス(外部メモリやデバイスなどにアクセスするための配線部分)を共用している。搭載コア数は2コアや4コアなどが多いが、サーバ用では20コア以上搭載しているプロセッサもある。

●スレッド数(論理プロセッサ数)

 「スレッド」とは、1つのコア内で、同時に複数の命令列を実行するための機能。見かけ上はマルチコアのように振る舞うが、実際には1コアのプロセッサ内でリソースを分け合って動作しているため、純粋なマルチコアシステムよりは性能はいくらか劣る。だが必要なハードウェアリソースは1コアの場合とほぼ変わらないという利点がある(スレッドについては別記事の「Hyper-Vサーバ設計術」参照)。Intel社製CPUの持つHyper-Thread機能(1コアで2スレッドをサポート)などが該当する。実際のコアは1つでも、機能的には複数のコアが存在するように見えるため、Windows OSではこれを「論理プロセッサ(Logical Processor)」と呼んでコアと区別している。そのため、以下でもそう呼ぶことにする。

注意すべきはソケットとスレッドの数

 Windows OSでは以上3つのパラメーターのうち、コア数やHyper-Threadサポートの有無は問わず、ソケット数と総スレッド数(総論理プロセッサ数)で制限していることが多い。例えば2コア×2スレッドのCPU(スレッドサポートあり)と、4コア×1スレッドのCPU(スレッドサポートなし)は、OSから見ると、どちらも同じ4論理プロセッサのCPUとして扱われる。

タスク マネージャー画面(Windows Server 2016の例) タスク マネージャー画面(Windows Server 2016の例)
Windows OSが論理プロセッサ数を幾つと認識しているかは、タスク マネージャー画面で確認できる。ここでは、論理プロセッサごとのCPU使用率グラフを表示させることができるが、それぞれが1コアなのか、それともHyper-Threadによる論理プロセッサ(スレッド)なのかは区別していない。この画面例のCPUは、Hyper-Threadをサポートした4コアのCPUなので、1ソケット/4コア/8論理プロセッサとなっている。
  (1)CPUの数を確認するには[パフォーマンス]で[CPU]を選択する。
  (2)この部分を右クリックして、ポップアップメニューから[グラフを変更]−[論理プロセッサ]を選択すると、表示が論理プロセッサごとのグラフになる。
  (3)CPUのソケット数。サーバシステムでは2個以上のCPUを搭載できるシステムが多い。
  (4)総コア数。ソケットが複数あるシステムの場合は全CPUの合計コア数。
  (5)論理プロセッサの総数。Hyper-Threadをサポートしている場合はコア数の2倍となるが、そうでない場合はコア数と同じになる。

 なおHyper-ThreadをサポートしていないCPUの場合は単にコア数で数えることが多いが、紛らわしいので、以下ではスレッドではなく「論理プロセッサ数」とする。

クライアントWindows OSがサポートする最大CPU数/論理プロセッサ数は?

 以下にクライアントWindows OSでサポートされているCPU数の制限をまとめておく(LPは論理プロセッサの略)。ただし、Windows 7よりも後のクライアントOSに関しては公式な情報が公開されていないため(最低限の要求仕様は明記されているが、最大数は言及なし)、推測である。

クライアントWindows OS 32bit版 64bit版
■Windows 7
Windows 7 Starter/
Windows 7 Home Premium
1ソケット/32LP 1ソケット/256LP
Windows 7 Professional/
Windows 7 Enterprise/
Windows 7 Ultimate
2ソケット/32LP 2ソケット/256LP
■Windows 8.x
Windows 8/8.1(無印エディション) 1ソケット/32LP 1ソケット/256LP
Windows 8/8.1 Pro/
Windows 8/8.1 Enterprise
2ソケット/32LP 2ソケット/256LP
■Windows 10
Windows 10 Home 1ソケット/32LP 1ソケット/256LP
Windows 10 Pro/
Windows 10 Eduction/
Windows 10 Enterprise
2ソケット/32LP 2ソケット/256LP
クライアントWindows OSでサポートされている最大CPU/LP数
ソケット」とはプロセッサの数、「LP」とはタスク マネージャーで1 CPU(1論理プロセッサ)として表示される論理単位のこと。

 これらの制限値は、マイクロソフトサイト内の情報や以下のページなどからの要約である。

Windows Server OSがサポートする最大CPU数/論理プロセッサ数は?

 クライアントWindows OSの場合と違って、Windows Server OSの場合は要求仕様として明記されている。サーバの場合は、ライセンスをソケット数で数えたり、コア数で数えたりするためである(どちらになるかは、OSによって異なる)。

 以下にWindows Server OSでサポートされているCPU数をまとめておく。もし論理プロセッサ数がOSの制限を超えていた場合は、超過した部分の論理プロセッサは使われないままとなる。

 なお、これはあくまでもOSの仕様上の制限であって、ライセンスによる制限ではないことに注意していただきたい。Windows Server OSを利用するためには、通常はソケット数やコア数に応じた適切なライセンスが必要となる。

Windows Server OS 最大サポート数
■Windows Server 2008 x86 SP2(32bit版)
Windows Server 2008 Standard x86 SP2(Hyper-V無効) 4ソケット/32 LP
Windows Server 2008 Standard x86 SP2(Hyper-V無効) 8ソケット/32 LP
Windows Server 2008 Standard x86 SP2(Hyper-V無効) 32ソケット/32 LP
■Windows Server 2008 x64 SP2(64bit版)
Windows Server 2008 Standard x64 SP2(Hyper-V有効) 4ソケット/24 LP
Windows Server 2008 Standard x64 SP2(Hyper-V有効) 8ソケット/24 LP
Windows Server 2008 Standard x64 SP2(Hyper-V有効) 32ソケット/24 LP
Windows Server 2008 Standard x64 SP2(Hyper-V無効) 4ソケット/64 LP
Windows Server 2008 Standard x64 SP2(Hyper-V無効) 8ソケット/64 LP
Windows Server 2008 Standard x64 SP2(Hyper-V無効) 32ソケット/64 LP
■Windows Server 2008 R2(64bit版のみ)
Windows Server 2008 R2 Standard(Hyper-V有効) 4ソケット/64 LP
Windows Server 2008 R2 Enterprise(Hyper-V有効) 8ソケット/64 LP
Windows Server 2008 R2 Datacenter(Hyper-V有効) 64ソケット/64 LP
Windows Server 2008 R2 Standard(Hyper-V無効) 4ソケット/256 LP
Windows Server 2008 R2 Enterprise(Hyper-V無効) 8ソケット/256 LP
Windows Server 2008 R2 Datacenter(Hyper-V無効) 64ソケット/256 LP
■Windows Server 2012(64bit版のみ)
Windows Server 2012 Standard(Hyper-V有効) 64ソケット/320LP
Windows Server 2012 Datacenter(Hyper-V有効) 64ソケット/320LP
Windows Server 2012 Standard(Hyper-V無効) 64ソケット/640LP
Windows Server 2012 Datacenter(Hyper-V無効) 64ソケット/640LP
■Windows Server 2012 R2(64bit版のみ)
Windows Server 2012 R2 Standard(Hyper-V有効) 64ソケット/320LP
Windows Server 2012 R2 Datacenter(Hyper-V有効) 64ソケット/320LP
Windows Server 2012 R2 Standard(Hyper-V無効) 64ソケット/640LP
Windows Server 2012 R2 Datacenter(Hyper-V無効) 64ソケット/640LP
■Windows Server 2016(64bit版のみ)
Windows Server 2016 Standard 512LP
Windows Server 2016 Datacenter 512LP
Windows Server OSでサポートされている最大CPU/LP数
Windows Server OSでは計算能力を多く使うサーバアプリケーションやHyper-V上の仮想マシンなどをサポートするため、非常に多くの論理プロセッサがサポートされている。

 Hyper-Vを有効にすると、利用できる論理プロセッサ数は制限される。これらの制限値は、マイクロソフトサイト内の情報や以下のページなどからの要約である(Windows Server 2016についてはLP数以外の詳細不明。今後補足予定)。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© 1999-2017 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。