32ビットWindows Serverアドレス> 4GB RAM-どのように?


8

これは私にとってニュースです。32ビットOSは2 ^ 32、つまり4GBのRAMしかアドレスできないという印象を常に受け​​ていました。限目。

しかし、これは何ですか-http://www.crucial.com/uk/kb/answer.aspx ? qid = 3743&click = true

これはどのようにして可能ですか?そして、これはまだプロセスあたり4GBを超えることを意味しますか?つまり、IISを使用している場合、ASP.NETに4GB以上を割り当てることができますか?

編集:回答ありがとうございます。これをコンテキストで言えば、これはWeb開発用です。w3wp.exe(ASP.NETワーカープロセス)は4GBに制限されているように見えますか?これは本当ですか?

おかげでダンカン


少しグーグルすると、IISがAWEをサポートしていないと主張する合理的な引用が出てくる可能性があるため、3 GB(4 GB-システムオーバーヘッド)を超えて割り当てることはできないと仮定しても、かなり安全だと思います。
ConcernedOfTunbridgeWells

回答:


14

一部の32ビットプロセッサのMMUは、実際には4GBを超える物理RAMをサポートできますが、単一のプロセスは、その仮想アドレス空間で一度に4GBしか認識できません。この種のCPUは、4 GBを超えるRAMを搭載でき、合計4 GBを超えるRAMを使用する複数のプロセスをサポートできます。ただし、単一のプロセスは、常に4GBのRAM(オペレーティングシステムからのオーバーヘッドを差し引いたもの)しか使用できません。

Xeonでは、この機能は物理アドレス拡張(PAE)として知られており、一部のオペレーティングシステムには、プロセスがMMUを操作して、プロセスの仮想アドレス空間の物理メモリをスワップできるAPIがあります。Windowsでは、このAPIはAddress Windowing Extensions(AWE)として知られていますが、Windowsのすべてのバージョンで使用できるわけではありません。Linuxと他のUnixの種も同様のメカニズムをサポートしています。

この機能を使用するには、それをサポートするようにプログラムを明示的に設計する必要があります。AWEはプロセスの仮想アドレス空間を自動的に拡張しません。たとえば、SQL Serverの特定のバージョンでサポートされていますが、IISでサポートされていることは知りません。

編集:ここに行きます。それを見つけた。 Stackoverflowへのこの投稿は、PAEのメカニズムの詳細にリンクしています

編集2:このフォーラムへの投稿が信頼できる場合、IISはAWEをサポートしていません。


4

PAEでは、32ビットで4GBを超えるアドレス指定が可能です。プロセスのメモリ制限については、Bruce Sandersonの一般的なWindows情報を参照できます。RAM、仮想メモリ、PageFileなど

プロセスごとのメモリについては、上記の「一般的なWindows情報」リンクのセクション1.2(「アドレススペースとプロセス」)および2.5(「アプリケーションメモリの調整-/ 3GBスイッチ」)をお読みください。


2

念のためここで注記しておきますが、Windows 2003のハイエンドバージョン(エンタープライズおよびデータセンター)は4 GB以上で動作します。私は14GBのRAMを備えたHP DL380を持っていて、W2K3 EEはすべて14GBを見ました。VMWareサーバーは4GB以上を使用できました。W2K3をESXi 3.5 U3に置き換え、すべての14GBを使用できます。

私が読んだところ、Microsoftは他のバージョンのWindows(XPなど)でそれを有効にしてみましたが、メモリが4GBを超えると、多くのドライバに問題があることがわかりました。問題の少なくとも一部はDMAでした(ハードウェアへのメモリアドレスが32ビットに切り捨てられ、メモリの破損が始まります)。そのため、安定性の問題を防ぐために、ほとんどの古いバージョンのWindowsでPAEを取り除くSPがありました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.