Windows OSでは、アーキテクチャやエディションなどにより、利用可能なCPUの数やコア数、スレッド数(論理プロセッサ数)などに制限がある。Windows OSごとの制限をまとめておく。
対象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に搭載可能な最大メモリサイズは、システムごとに大きく異なる)。
メモリサイズ制限と同様に、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として扱われる。
なおHyper-Threadをサポートしていない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 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数以外の詳細不明。今後補足予定)。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.