/3GB, /USERVA とかの技術をまとめて 4GT (4-Gigabyte Tuning) といいます。
Windows Vista 以前の Windows 32 bit OS の virtual address space (仮想メモリ アドレス空間) は default で 4GB になっており、user process space (一般的な application で利用される空間) と system space (Windows kernel で利用される空間) とでそれぞれ 2GB ずつ利用できるように設定されています。
User process space が system space より多くの memory を必要とする場合には、上記の switch を利用して user process space へより多くの memory を割り当てることができます。
この技術だけでは、virtual address space 全体の大きさ 4GB は変更されないことに注意してください。
4GT を利用する場合の注意点として下記が存在するようです。
- 4GT を有効活用するためには application 側の対応が必要
対応を行っていない場合には、2GB の制限が掛ったままです。具体的には、image header に IMAGE_FILE_LARGE_ADDRESS_AWARE を追加する必要があります。
- 4GT 環境で動かすためには、system space を利用する driver 等が境界にあたる memory address を利用しないことが保障されていないといけない
User process space と system space の境界を決め打たないで動的に取得することが推奨されています。
- 4GT を正式に support する OS は下記のみ
- Windows 2000 Advanced Server
- Windows 2000 Datacenter Server
- Windows Server 2003 Enterprise Edition
- Windows Server 2003 Datacenter Edition
- Microsoft Windows Small Business Server 2003
Windows 2000 professional, Windows 2000 Server では 4GT 自体は存在するものの、実際には有効活用されないようです。
Windows Server 2003 Standard Edtion に関しては制限付きで support されるようです。Windows XP は Widows 2000 のような機能な制限はされていないようですが、正式 support はされていないようです。
- Kernel が 1GB を超える memory resource を必要とする場合
代表的なものに PTE (Page Table Entry) の問題が報告されています。
- PAE を有効にしても 16GB までしか memory を扱えない
Windows Server 2003 Datacenter Edition Service Pack 2 は 4GT を有効にしても 64GB まで扱える?
詳細な情報が知りたい方は公式 reference を参照することをお勧めします。