Mein Professor sagte, dass wir regelmäßig nur 2 GB von 4 GB RAM verwenden können, weil die anderen 2 GB vom Betriebssystem verwendet werden. Beim Ausführen einiger Tests sehe ich jedoch, dass ich mit einem virtuellen Speicherbereich von 4 GB eines Prozesses nur maximal 2 GB unter Verwendung der VirtualAlloc()
-Funktion zuweisen kann. Warum ist das (ich hatte erwartet, dass es mehr als 3 GB ist)?Warum kann ich nur 2 GB auf einem virtuellen 4-GB-Speicherplatz reservieren?
Wie ich weiß, verwenden die Stack-, Daten- und Code-Segmente nur wenig Speicher. Einer meiner Freunde sagte mir, dass die anderen 2 GB von OS verwendet werden, genau wie der Professor sagte. Allerdings glaube ich, dass der Professor 2 GB gemeint hat. Es ist nicht in der virtual memory
dieses Prozesses. Könnte jemand erklären, was hier passiert? Vielen Dank.
Einige Informationen:
Physikalischer Speicher: 4 GB.
Virtueller Speicher: 4 GB.
OS: Windows 10.
Sie können zu etwa 3 GB, indem Sie ändern, wie Windows-Starts lesen von https://blogs.technet.microsoft.com/askperf/2007/03/23/memory-management-demystifying-3gb/ –
verwenden Sie 64-Bit-Betriebssystem und Compiler? –
@ M.M Ich verwende 64-Bit-Betriebssystem und kompiliere in 32-Bit. – Rickie