64 ビット OS と RAM

64 ビット OS と RAM

64 ビット Windows 8 Ultimate オペレーティング システムで使用できる RAM の容量はどれくらいですか?

私は読んだマイクロソフトのウェブサイト最大 512 ギガバイト (GB) まで配置できると書かれていますが、私の理解では、64 ビットでは実行可能プログラムの最大 RAM 使用量は 16 ギガバイトになると考えていました。

つまり、Windows 8 は 512 GB の RAM をすべて使用できるということですか?

答え1

理論上の64ビットアドレス空間は2^64または16エクサバイト(18,446,744,073,709,551,616バイト)です。

Microsoft は、Windows 8 Pro および Enterprise の最大物理メモリを 512 GB に制限しています。参照

これは主に商業上の理由によるものですが、Microsoft はテスト可能な機器が存在するメモリ サイズまでしか認可しないと聞いています。

プロセスごとのユーザー モード仮想アドレス空間に関しては、Windows 8.1 より前は 8192 GB に制限されていました。Windows 8.1 では、これが 128 TB に増加しました。(参照(参照)

仮想アドレス空間のレイアウト方法は、現在のプロセッサが 256 TB の仮想メモリのみを実装する方法の結果です。

答え2

それはできた理論上はより多くのRAMを扱えるが、MicrosoftはWindows 8のRAMを512GBPro および Enterprise エディションでは、他のエディションではさらに少なくなります。

Windows Server 2012が必要です数テラバイトのメモリただし、これは依然として適切なハードウェアの制限を下回っています。

おそらく、非技術的な理由、つまりサーバー(または関連する)タスク用に実際のサーバー OS を購入してほしいと考えていると考えられます。


CPU にもアドレス指定可能なメモリの制限があることに留意してください。たとえば、Intel は、現在の Xeon E5-2600 (デュアル ソケット ボード用に設計) CPU に対して 750 GB の制限を指定しています。1 TB を超えるには、4 つ以上の CPU ボード用に設計された (より高価な) CPU が必要です。

答え3

まあ、あなたの情報源は正しいが、マイクロソフトNT カーネルはこれを異なるアドレス領域にマップしますが、現在のプロセッサでも 48/52 ビットしか実装されていないため、その量は 64 ビット アーキテクチャの理論上の最大値を下回る程度に制限されます。

また、プログラムが使用できる仮想メモリと、オペレーティング システムが CPU を通じてアクセスできる物理 RAM を混同しないでください。Russinovich の「Windows Internals」の Nonpaged や Paged Pool などの概念や、Paged Pool が実際にユーザー モード プロセスのプロセス空間を表すためにどのように使用されるかについても読んでみてください。

答え4

64 ビット OS では、使用できるメモリ量を制限する要因は OS ではなくシステム ボードです。Windows を最大限に活用できるずっと前に、ハードウェアの制限にぶつかることになります。

関連情報