Kann mein Anwendung mit /3GB umgehen?

Bei einem 32Bit Windowssystem teilt sich der virtuelle Speicher (max. 4GB) in jeweils 2GB für Kernel- und Userspace. Mit dem /3GB (alternativ: /userva) Switch in der boot.ini kann dies in 1GB Kernel- / 3GB Usermemory geändert werden.

Damit ein Prozess allerdings die vollen 3GB Usermemory ausnutzen kann muss im Imageheader IMAGE_FILE_LARGE_ADDRESS_AWARE beim kompilieren gesetzt worden sein.

Imagecfg.exe – ein Tools aus dem MS Resource Kit – zeigt alle gesetzten Imageheader an. Diese lassen sich ggf. auch editieren.

Weiterhin gibt ein „Terminal Server aware“ Header. Spannend: selbst bei Microsofts UPHClean ist dieses Bit nicht gesetzt

Imagecfg.exe Download

http://msdn.microsoft.com/en-us/library/ms680349(VS.85).aspx

Virtual memory constraints in 32-bit Windows

Leave a Reply

Spam Protection by WP-SpamFree