Dlaczego aplikacje są początkowo tak wolne po przełączeniu się na nie, mimo że mam wolną pamięć RAM?


9

Na moim komputerze z systemem Windows 7 (64-bitowym), gdy mam kilka programów wymagających dużej ilości zasobów i pół tuzina innych, kiedy przełączam się na aplikację, z której nie korzystałem od dłuższego czasu, odpowiedź zajmuje dużo czasu i słyszę, jak dysk twardy dużo działa. Zakładam, że pobiera dane z pliku strony. W Menedżerze zadań Windows pokazuje, że używam około 75% fizycznej pamięci RAM, a reszta dzieli około 50/50 między pamięć podręczną a wolną.

Mimo że pamięć RAM jest dostępna, czy przeniesiono dane z pamięci RAM tylko na dysk? Jak mogę sprawić, by inne programy były bardziej responsywne? Czy zwiększenie pamięci RAM z 4 GB do 8 GB przyspieszy to podczas przełączania jednego programu na inny?


Pamiętaj, że potrzebujesz systemu Windows 7 w wersji 64-bitowej, aby korzystać z więcej niż 4 GB. Dodanie większej ilości pamięci pomoże dużo, a następnie ustaw plik stronicowania na Min. 200 MB / Maks. 200 MB.
Michael9000,

Założę się, że jest to prawdopodobnie spowodowane częścią „Mam kilka programów wymagających dużych zasobów” .
surfasb

Odpowiedzi:


7

Windows musi dokonać kompromisu między przepływnością a opóźnieniem.

Gdyby utrzymywał aplikacje w pamięci RAM, nawet jeśli nie były używane przez długi czas, przepustowość ucierpiałaby. Użyta, ale bezczynna fizyczna pamięć RAM zmniejszyłaby pamięć RAM dostępną dla innych aplikacji i systemu.

System Windows podejmuje decyzję o pominięciu pamięci, do której nie uzyskiwano dostępu przez długi czas. Pozwala to na użycie większej ilości fizycznej pamięci RAM jako pamięci podręcznej dysku i znacznie poprawia przepustowość aplikacji.

Kompromis polega na tym, że gdy aplikacje te ostatecznie muszą uzyskać dostęp do stron pamięci, które nie były dostępne od dłuższego czasu, mogą nie być rezydentami. W takim przypadku aplikacja musi chwilę poczekać, aż zostaną ponownie odczytane w pamięci RAM.

Windows ogólnie robi bardzo dobrą robotę, dokonując tych kompromisów, i nie zalecałbym zbytniej regulacji. Możesz poprawić opóźnienie, ale będzie to ogromna kara dla przepustowości, a co gorsza, możesz wpaść w stan, w którym niektóre rzeczy po prostu nie działają. (Na przykład, jeśli wyłączysz plik stronicowania, za dwa miesiące może się okazać, że edytujesz duży obraz lub coś i po prostu nie możesz go zapisać, ponieważ alokacja pamięci zawsze kończy się niepowodzeniem).

Oczywiście zawsze możesz dodać więcej pamięci RAM. W tej chwili jest absurdalnie tanie. A to sprawia, że ​​mniej prawdopodobne jest, że Windows będzie musiał dokonać jakichkolwiek kompromisów.


1
Jeśli chodzi o wyłączenie pliku stronicowania, możliwe jest, że system po prostu zawiesi się.
surfasb

6

Windows stronicuje programy z pamięci i na dysk. Nie znam używanego algorytmu, ale nie zdziwiłbym się, gdyby spojrzał na czas bezczynności aplikacji.

System Windows będzie starał się zmaksymalizować ilość wolnej fizycznej pamięci RAM, ponieważ jest to przydatne, więc zwiększenie pamięci do 8 lub nawet 12 GB poprawiłoby szybkość reakcji systemu - szczególnie, jeśli korzystasz z kilku aplikacji wymagających dużej ilości zasobów.


3
Zdecydowanie pokazuje, jak długo pamięć była bezczynna. Gdy system Windows chce więcej wolnej fizycznej pamięci RAM, pierwszą rzeczą, którą odrzuci (lub odwróci stronę), są strony pamięci, do których nie uzyskiwano dostępu od bardzo dawna.
David Schwartz,

0

Możesz sprawdzić w Menedżerze zadań Windows, który program zużywa tyle pamięci RAM.

Z własnego doświadczenia uważam, że plik wymiany jest niepotrzebny na komputerach z 4 GB + RAM. Możesz całkowicie wyłączyć zamianę, aby sprawdzić, czy to jest przyczyną problemu.

Są też usługi Windows, które wolę wyłączyć, ponieważ zwykle robią dużo niepotrzebnych operacji we / wy dysku: Superfetch, ReadyBoost, Windows Search, Windows Defender, Volume Shadow Copy i Distributed Link Tracking.


2
Sprawdź doskonałą stronę BlackViper, aby zobaczyć, które usługi możesz bezpiecznie wyłączyć
Michael9000,

1
Wyłączenie Superfetch wraz z plikiem strony to ogromny błąd. Zostało to już wielokrotnie omówione.
surfasb
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.