Ogranicz dostępną pamięć RAM, którą program / aplikacja widzi w systemie Windows

1

Proste i proste pytanie, po prostu odpowiedz, jeśli wiesz.

Czy jest jakieś polecenie (polecenie skrótu) lub aplikacja / narzędzie, które powoduje, że aplikacja / program „widzi” określoną ilość pamięci RAM? Oczywiście modyfikacja boot ini (przełącznik maxmem) nie wchodzi w rachubę, nie chcę restartować dla kilku aplikacji.

Mam 4 GB pamięci RAM, Winxp 32 bity i chcę, aby niektóre aplikacje „myślały / widziały”, że mam na przykład 2 GB pamięci RAM; oczywiście system Windows będzie miał całą pamięć RAM 4 GB, ale określona aplikacja pomyśli, że moja maksymalna pamięć to na przykład 2 GB, 1,5 GB lub cokolwiek innego. Czy to możliwe?

Wiem już, że proces 32-bitowy jest ograniczony do 2 GB, ale niektóre programy / aplikacje mają problem z całkowitą ilością pamięci RAM.

selfmade.exe
źródło

Odpowiedzi:

2

Możesz użyć weryfikatora aplikacji Microsoft . Nie daje wielu opcji zarządzania pamięcią, ale umożliwia uruchamianie aplikacji w środowisku ograniczonym zasobami. Jego głównym zastosowaniem jest profilowanie / debugowanie, ale można go użyć tylko w celu ograniczenia niewłaściwie zachowujących się aplikacji.

Dodatkowo w celach informacyjnych:

http://gusclass.com/blog/2011/10/31/application-verifier-save-your-memory-debug-your-apps-also-hax/

Chad Bonthuys
źródło
Próbowałem już po wyszukiwaniu i znalazłem ten sam komentarz do twojego. Nic nie robi. Prawdopodobnie jest to przeznaczone dla innych firm, takich jak debugowanie.
selfmade.exe
Popraw jego wykorzystanie w rozwoju do debugowania aplikacji i wykrywania wycieków pamięci, jednak dla ciebie powinno to działać dobrze. Ustawienie HEAP_ALLOC w symulacji niskiego poziomu zasobów. Należy zauważyć, że ta wartość jest w KB.
Chad Bonthuys
Próbowałem jeszcze raz, ale to nie zadziałało ..
selfmade.exe
Wydaje się, że to najlepszy sposób na zrobienie tego. Znalazłem i wypróbowałem jedną aplikację i działała dobrze!
selfmade.exe
Przepraszam za opóźnioną odpowiedź, świetne rzeczy !! Dodatkowo wciąż szukam możliwości znalezienia lepszych rozwiązań
Chad Bonthuys
1

Zakładam, że dzieje się tak, ponieważ masz bardzo starą aplikację, która nie działa poprawnie na nowoczesnym komputerze, lub jesteś programistą i chcesz przetestować aplikację na innym sprzęcie.

W obu przypadkach polecam uruchomienie aplikacji na maszynie wirtualnej. Na przykład w VirtualBox możesz ustawić ilość dostępnej pamięci systemowej (RAM), pamięci wideo i dostępnych rdzeni procesorów. Możesz to zmienić nawet po utworzeniu maszyny wirtualnej.

Jeśli aplikacja jest aplikacją DOS, możesz także rzucić okiem na DOSBox .

Jason
źródło
Brak Vm; Chcę pełnego sprzętu. Również nie jest to dos, używam już dosbox. Dobry spokój, ale myślałem już o tym i nie jest to dla mnie opcja.
selfmade.exe
@ selfmade.exe Maszyny wirtualne mogą już zbliżyć się do sprzętu, szczególnie jeśli masz procesor i płytę główną obsługującą funkcje wirtualizacji (co robią prawie wszystkie obecne procesory i większość przyzwoitych płyt głównych).
MBraedley
Stary sprzęt, Athlon x2 3800 (2 GHz), RAM jest również ograniczony, 4 GB z 3,2 użytecznym. Więc nie ma opcji.
selfmade.exe
@ selfmade.exe próbowałeś już? To może nie być świetne, ale jestem pewien, że będzie całkowicie użyteczne. Ten procesor prawdopodobnie również ma funkcje VM (chociaż płyta główna może go nie obsługiwać).
MBraedley
Chłopaki, znam to rozwiązanie, ale to po prostu nie jest dla mnie dobre.
selfmade.exe