Windows OSでサポートされている最大物理メモリサイズは?:Tech TIPS
Windows OSでは、そのアーキテクチャやエディションなどにより、利用可能な最大物理メモリサイズは制限されている。特に32bit版のクライアントOSでは4GB以上の物理メモリが装着されていても、その全てを使い切ることはできない。
対象OS:Windows 2000/Windows XP/Windows Vista/Windows 7/Windows 8/Windows 8.1/Windows 10/Windows Server 2003/Windows Server 2008/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2/Windows Server 2016
最近ではメモリも安価になり、システムに可能な限り多くのメモリを搭載して、パフォーマンスの向上を図ることも少なくない。特にサーバシステムでは、メモリを多く搭載しておけば、ファイル共有サービスやデータベースアプリケーションなどのキャッシュやワークエリアとして使われるのでシステムの応答性能などが向上する。仮想化プラットフォームなら、より多くの仮想マシンを稼働させることができる。
またクライアントコンピュータの場合でも、メモリが多ければディスクキャッシュとしても有効活用されるし、仮想記憶によってアプリケーションがディスクにスワップアウトされることが少なくなる。
- Q&A「64bitプロセッサ」
- 連載「64bit Windows時代到来」
ハードウェアにもよるが、最近のクライアントコンピュータならば数十GBのメモリを搭載できるだろう。サーバなら数百GBから数TB(1TB=1024GB)クラスのメモリを搭載できるシステムもある。
搭載されている全メモリを使い切れないOSもある
だが実際にはWindows OSで利用可能なメモリサイズには制限があり、場合によっては、システムに搭載したメモリを全て利用できないことがある(多過ぎるメモリは無視される)。
特にクライアント向けの32bit版Windows OSでは、利用可能な最大物理メモリサイズは4GBに制限されており、システムにそれ以上メモリを搭載しても、4GBを超えている部分は利用できないという制限がある(詳細は後述の「32bit版Windows OSで実際に利用可能な最大メモリサイズは?」参照)。
本記事では、各Windows OSでサポートされている最大物理メモリサイズについてまとめておく。OSの制約によって物理メモリ全体を利用できない場合は、64bit版のWindows OSや上位エディションのOSへの移行を考える必要がある。
なおメモリサイズだけでなく、利用できるCPUの数やコア数、スレッド数にも制限がある。これについては以下のTIPSを参照していただきたい。
各Windows OSでサポートされている最大物理メモリサイズ
各OSがサポートしている最大物理メモリサイズは、OSのエディション、Service Packのレベル、対応CPUアーキテクチャ(x86かx64か)などによって異なる。以下にWindows 2000以降のWindows OSにおける最大サイズをまとめておく。
●クライアントWindows OS
Windows OS名とそのエディション | x86(32bit) | x64(64bit) | |
---|---|---|---|
■Windows 2000 | |||
Windows 2000 Professional | 4GB | ― | |
■Windows XP | |||
Windows XP Home Edition | 4GB | ― | |
Windows XP Professional | 4GB | ― | |
Windows XP Professional x64 Edition | ― | 128GB | |
■Windows Vista | |||
Windows Vista Home Basic | 4GB | 8GB | |
Windows Vista Home Premium | 4GB | 16GB | |
Windows Vista Business | 4GB | 128GB | |
Windows Vista Enterprise | 4GB | 128GB | |
Windows Vista Ultimate | 4GB | 128GB | |
■Windows 7 | |||
Windows 7 Starter | 2GB | ― | |
Windows 7 Home Basic(日本未発売) | 4GB | 8GB | |
Windows 7 Home Premium | 4GB | 16GB | |
Windows 7 Professional | 4GB | 192GB | |
Windows 7 Enterprise | 4GB | 192GB | |
Windows 7 Ultimate | 4GB | 192GB | |
■Windows 8/8.1 | |||
Windows 8/8.1(無印エディション) | 4GB | 128GB | |
Windows 8/8.1 Pro | 4GB | 512GB | |
Windows 8/8.1 Enterprise | 4GB | 512GB | |
■Windows 10 | |||
Windows 10 Home | 4GB | 128GB | |
Windows 10 Pro | 4GB | 2TB | |
Windows 10 Education | 4GB | 2TB | |
Windows 10 Enterprise | 4GB | 2TB |
●Windows Server OS
Windows OS名とそのエディション | x86(32bit) | x64(64bit) | |
---|---|---|---|
■Windows 2000 | |||
Windows 2000 Server | 4GB | ― | |
Windows 2000 Advanced Server | 8GB | ― | |
Windows 2000 Datacenter Server | 32GB | ― | |
■Windows Home Server | |||
Windows Home Server | 4GB | ― | |
■Windows Server 2003 | |||
Windows Server 2003, Web Edition | 2GB | ― | |
Windows Server 2003, Standard Edition(SP未適用版) | 4GB | 16GB | |
Windows Server 2003, Enterprise Edition(SP未適用版) | 64GB | 64GB | |
Windows Server 2003, Datacenter Edition(SP未適用版) | 64GB | 512GB | |
Windows Server 2003 SP1/SP2, Standard Edition | 4GB | 32GB | |
Windows Server 2003 SP1/SP2, Enterprise Edition | 64GB | 1TB | |
Windows Server 2003 SP1/SP2, Datacenter Edition | 64GB | 1TB | |
Windows Server 2003 R2, Standard Edition | 4GB | 32GB | |
Windows Server 2003 R2, Enterprise Edition | 64GB | 1TB | |
Windows Server 2003 R2, Datacenter Edition | 64GB | 1TB | |
Windows Small Business Server 2003 | 4GB | ― | |
Windows Storage Server 2003 | 4GB | ― | |
Windows Storage Server 2003, Enterprise Edition | 8GB | ― | |
■Windows Server 2008 | |||
Windows Server 2008 Standard | 4GB | 32GB | |
Windows Server 2008 Enterprise | 64GB | 1TB | |
Windows Server 2008 Datacenter | 64GB | 1TB | |
Windows Web Server 2008 | 4GB | 32GB | |
Hyper-V Server 2008 | ― | 32GB | |
■Windows Server 2008 R2 | |||
Windows Server 2008 R2 Standard | ― | 32GB | |
Windows Server 2008 R2 Enterprise | ― | 2TB | |
Windows Server 2008 R2 Datacenter | ― | 2TB | |
Windows Server 2008 R2 Foundation | ― | 8GB | |
Windows Web Server 2008 R2 | ― | 32GB | |
Hyper-V Server 2008 R2 | ― | 1TB | |
■Windows Server 2012 | |||
Windows Server 2012 Standard | ― | 4TB | |
Windows Server 2012 Datacenter | ― | 4TB | |
Windows Server 2012 Essentials | ― | 64GB | |
Windows Server 2012 Foundation | ― | 32GB | |
Windows Storage Server 2012 Workgroup | ― | 32GB | |
Windows Storage Server 2012 Standard | ― | 4TB | |
Hyper-V Server 2012 | ― | 4TB | |
■Windows Server 2012 R2 | |||
Windows Server 2012 R2 Standard | ― | 4TB | |
Windows Server 2012 R2 Datacenter | ― | 4TB | |
Windows Server 2012 R2 Essentials | ― | 64GB | |
Windows Server 2012 R2 Foundation | ― | 32GB | |
Windows Storage Server 2012 R2 Workgroup | ― | 32GB | |
Windows Storage Server 2012 R2 Standard | ― | 4TB | |
Hyper-V Server 2012 R2 | ― | 4TB | |
■Windows Server 2016 | |||
Windows Server 2016 Standard | ― | 24TB | |
Windows Server 2016 Datacenter | ― | 24TB | |
Windows Server 2016 Essentials | ― | 64GB | |
(Windows Server 2016 Foundation) ※Server 2016ではFoundationエディションは廃止 |
― | ― | |
Windows Storage Server 2016 Workgroup | ― | 32GB | |
Windows Storage Server 2016 Standard | ― | 24TB | |
Hyper-V Server 2016 | ― | 24TB | |
Windows OSでサポートされている最大物理メモリサイズ CPUアーキテクチャやWindows OSのエディション、Service Packレベルなどによって、利用可能な(サポートされている)最大物理メモリサイズは異なっている。ここではx86アーキテクチャ(32bit OS)とx64アーキテクチャ(64bit OS)における制限をまとめている。サイズ欄が「―」となっているものは該当するエディションの製品(SKU)がないことを表す。このデータは以下の情報などを参考にして作成した。 ・「Memory Limits for Windows and Windows Server Releases」[英語](マイクロソフトMSDNサイト) |
物理メモリサイズ制限とシステムのプロパティ表示について
システムに実装された物理的なメモリサイズと、実際にWindows OSから利用可能なメモリサイズは、コントロールパネルにある「システム」のプロパティか、またはタスク マネージャーで確認できる。以下では、Windows OSごとにその確認方法を説明する。
■Windows 7/Server 2008 R2の場合
例えば、以下は8GBのメモリを装着した32bit版Windows 7システムの例である。
システムのプロパティ画面におけるメモリサイズ表示の例
Windows Vista以降のWindows OSでは、システムに実際に装着されているメモリのサイズがこの画面に表示される。Windows 2000/XPの場合は、実際の物理メモリサイズではなく、Windows OSから利用できるサイズのみが表示されていた。
(1)これはWindows 7 Professional SP1の画面例。
(2)このシステムには8GBの物理メモリが装着されている。
(3)実際にOSから利用できるメモリサイズ。この場合は3GBとなっている。64bit版Windows OSではこの部分は表示されず、実装されているメモリを全てWindows OSとユーザーが利用できる。なおWindows Vistaでは、32bit版であってもこの部分が表示されなかったので、実装メモリを全て(この場合は8GB)使えるものと勘違いしやすかった。
(4)これは32bit版Windows 7である。
システムには8GBのメモリが装着されているのに、Windows OSから利用できるのは3GBだけである。これはタスク マネージャーのパフォーマンス画面でも確認できる。
タスク マネージャーでメモリサイズを確認する
タスク マネージャーの「パフォーマンス」タブを見れば、Windows OSが利用している本当のメモリサイズを確認できる。これは32bit版のWindows 7のタスク マネージャーの画面。
(1)[パフォーマンス]タブを選択する。
(2)「物理メモリ」グループの「合計」にあるのが、Windows OSが利用している実際のメモリサイズ。実際の物理メモリサイズ(8GB)はこの画面では確認できない。残りの5GBは使うことができず、ずっと未使用のままである。
■Windows 8/Server 2012以降の場合
Windows 8/Windows Server 2012以降ではタスク マネージャーの画面構成が変更され、物理メモリサイズとOSが利用しているメモリサイズの両方が表示されている。
■32bit版Windows 10
新しいタスク マネージャーの表示(32bit版Windowsの例 )
Windows 8/Windows Server 2012以降の新しいタスク マネージャーでは表示方法が変更され、分かりやすくなっている。これはWindows 10のタスク マネージャーのメモリ関連情報の表示画面。20GBのメモリを搭載したシステムで32bit版Windows 10を実行している。
(1)タスク マネージャーを起動して詳細表示モードに切り替え、このタブを選択する。
(2)メモリの状態を確認するにはこれをクリックする。
(3)これが実際の物理メモリサイズ。32bit版OSでも20GBと認識されている。
(4)Windows OSが利用している総メモリサイズ。このシステムの場合は、20GBのメモリがあるけれども、Windows OSが利用しているのは2.7GBだけである。
(5)未使用分のサイズ(内蔵グラフィックスデバイスなどが占有している分も含む)がここに表示されている。
(6)どんなにメモリを搭載していても、32bit版OSではトータルで3GB弱までしか使えない。
■64bit版Windows 10
新しいタスク マネージャーの表示(64bit版Windowsの例)
これは上記と同じシステムで、64bit版Windows 10を実行している例。
(7)実際の物理メモリサイズ。64bit版OSでも20GB認識されている。
(8)Windows OSが利用している総メモリサイズ。このシステムの場合は、20GBのメモリがあり、Windows OSでは19.7GBまで利用できる。
(9)内蔵グラフィックスデバイスなどで利用されているサイズ。
(10)64bit版OSではこのようにシステムに搭載されているメモリをほぼ全て利用できる。たとえ一般のユーザープログラムで使わなくても、ディスクキャッシュなどでも有効活用されるので、搭載メモリサイズは多い方がよい。
32bit版Windows OSで実際に利用可能な最大メモリサイズは?
多くの32bit版クライアントWindows OSでは、OSの仕様上の制約により、4GB以上のアドレス空間へはアクセスできない/しないので、4GB以上のメモリがあっても全部活用することはできない。
さらに実際のPCシステムではユーザーが利用できるメモリサイズはもっと少なく、上の画面のように3GB程度までに制限されている。その理由は、4GBのアドレス空間のうち、末尾の0.5〜1GB程度がグラフィックスカードやその他のデバイスなどによって占有されているためである。
32bit版Windows OSは物理アドレス空間の先頭から4GBまでの領域にしかアクセスできないので、デバイス用のアドレスが4GB未満の領域になるように配置した結果、このようなメモリマップになっている。
PCシステムのメモリマップの例
これはCPUから見た場合の、PCの物理アドレス空間マップ。この中には通常のメモリ(RAM)やファームウェア(ROM)、デバイスなどが配置され、CPUからはアドレスを指定するだけでどこへでも同じようにアクセスできる。一般的なPCシステムでは、先頭4GBの中に通常のメモリとデバイスの両方がマップされている。デバイス空間が1GB程度占有しているので、32bit OSを使う限り、ユーザーメモリは最大でも3GB程度しか確保できない。
4GBよりも上位のアドレス空間を「管理外メモリ領域」というが、そこへアクセスするには64bit Windows OSが必要となる。クライアント向けの32bit OSでは管理外メモリ領域を使うことはないが(32bit版でも、一部のServer OSは4GB以上のメモリを利用できる)、この部分を使って「RAMディスク」を実現するソフトウェアもある。少し古いが以下の記事を参照されたい。
- 運用「RAMディスク導入ガイド」
メモリアドレスのリマップと64bit OSでの活用
なお、システムによってはデバイス空間の裏側に隠される物理メモリを別の領域へ「リマップ(再マッピング)」して、メモリ空間の末尾に自動的に移動させる機能を持つものがある。
この機能を使うと、ユーザーメモリとして利用できるサイズが1GB程度増えることになる。例えば4GBしかメモリを搭載していないシステムなら、32bit OSでは3GBしか使えないが、64bit OSにすると4GB全体を使えるようになる。以下のTIPSを参照のこと。
■関連リンク
- Memory Limits for Windows and Windows Server Releases[英語](マイクロソフトMSDNサイト)
- 4-Gigabyte Tuning[英語](マイクロソフトMSDNサイト)
- Address Windowing Extensions[英語](マイクロソフトMSDNサイト)
- Physical Address Extension[英語](マイクロソフトMSDNサイト)
- Large-Page Support[英語](マイクロソフトMSDNサイト)
更新履歴
【2016/12/22】Windows Server 2016に関する情報を追加しました。
【2016/05/11】Windows 10に関する情報を追加しました。
【2014/08/08】Windows 8/Windows 8.1/Windows Server 2012/Windows Server 2012 R2に関する記述を追加しました。
【2010/01/29】Windows 7とWindows Server 2008 R2に関する記述を追加しました。
【2009/03/06】初版公開。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.