私の教授は、定期的に、他の2 GBがOSによって使用されるため、4 GBのRAMのうち約2 GBしか使用できないと言いました。しかし、いくつかのテストを実行すると、プロセスの4 GBの仮想メモリスペースでは、VirtualAlloc()
機能を使用して最大2 GBまでしか割り当てることができません。それはなぜですか(私はそれが約3 GB以上になると予想していました)?4 GBの仮想メモリ空間に2 GBしか割り当てられないのはなぜですか?
私が知っているように、スタック、データ、およびコードセグメントはわずかなメモリしか使用しません。私の友人の一人は、教授が言ったように、他の2 GBがOSによって使用されていると私に言った。しかし、私は教授が2GBのphysical memory
を意味したと思う。このプロセスのvirtual memory
にはありません。 誰もここで何が起こるか説明できますか?ありがとう。
いくつかの情報:
物理メモリ:4ギガバイト
仮想メモリ:4GB。
OS:Windowsの10
Windows起動時の読み方を変更して約3GBにすることができます。https://blogs.technet.microsoft.com/askperf/2007/03/23/memory-management-demystifying-3gb/ –
使用していますか64ビットOS&コンパイラ? –
@ M.M 64ビットOSを使用し、32ビットでコンパイルします。 – Rickie