Mam Windows 8 64-bit na dysku SSD i 4GB pamięci RAM. W systemie ustawiłem 16GB pamięci wirtualnej.
O ile dobrze rozumiem, czym jest pamięć wirtualna, to ja to wyobrażam sobie, że jest to powiększenie pamięci operacyjnej w taki sposób, że część jest w pamięci RAM, a reszta jest na dysku i system na bieżąco decyduje, który fragment pamięci operacyjnej jest w pamięci RAM, podczas, gdy reszta jest na dysku. Program powinien mieć wrażenie, że ma do dyspozycji większą ilość pamięci operacyjnej niż zainstalowana w pamięci RAM. A to, że część danych jest na dysku, a nie w pamięci RAM, to program o tym nie wie i nie jest dla niego ważne. Dlatego to się nazywa "pamięć wirtualna".
Okazuje się, że menedżer zadań pokazuje, że mam 4GB pamięci operacyjnej, ponad połowa wypełniona. Niedawno testowałem pewną implementację, to program wywalał się wyjątkiem "OutofmemoryException" zaraz po zapełnieniu się wolnej pamięci z tych 4GB.
Wobec powyższego, powinno być 20GB pamięci operacyjnej, a tak nie jest. Z czego to wynika?
Jak zmusić system, żeby udostępniał 16 lub 20GB pamięci. Niech sobie przerzuca dane pomiędzy dyskiem, a pamięcią RAM, ale niech program dostanie większą pamięć, tylko będzie działać z mniejszą wydajnością z powodu przerzucania danych i faktu, że dysk jest wolniejszy od RAM.