Windows 8 zwalnia pamięć nieaktywnych okien

0

Wygląda na to, że Windows automatycznie pobiera dowolne okno, które nie było aktywne przez około 30-40 minut, brak pamięci RAM (być może przechowywanie go na dysku twardym). Absolutnie nie ma znaczenia, ile wolnej pamięci RAM jest.

Dla mnie rezultatem jest to, że po tym ustawionym czasie nieaktywne okno potrzebuje dużo czasu, aby się przełączyć, a po załadowaniu z tła, nadal pozostaje opóźnione. Absolutnie dotyczy to wszystkich programów, w tym wyjątkowo lekkich jak notatnik.

Czy jest jakieś ustawienie, na które powinienem spojrzeć, aby całkowicie wyłączyć tę funkcję (lub cokolwiek to jest)?

PS Pracuję na 8 GB pamięci RAM, która jest rzadko używana przez ponad połowę. Windows 8.1

AlexTR
źródło
2
Nie; Tego zachowania nie można wyłączyć. Ale nie jest to również powód, dla którego „przejście na” jest powolne. Nie zdiagnozowałeś prawidłowej przyczyny swoich problemów.
Ramhound,
1
Zbyt mały plik stronicowania może to wyjaśnić. Musisz ustalić, czy kończy Ci się pamięć fizyczna czy wirtualna. Powolność zostanie wyjaśniona, rozwiązanie określa, co się faktycznie dzieje.
Ramhound,
1
@Ramhound Dokładnie. Bez pliku strony lub zbyt małego pliku strony, system operacyjny może nie mieć innego wyboru, jak odrzucić wiele czystych stron, powodując opóźnienia, gdy programy, które nie uruchomiły się przez długi czas, muszą zostać uruchomione ponownie. (To dlatego, że ich kodu nie ma w pamięci RAM, ponieważ trzeba było go eksmitować, aby zrobić miejsce na śmieci, których nie można było wyrzucić do pliku strony.)
David Schwartz
1
magicandre1981 jest włączony. @Ramhound możesz mieć całkowitą rację, mój plik pada został nieprawidłowo dostrojony, znacznie poniżej zalecanych ustawień. Właśnie wprowadzone zmiany i restart, będą informować w miarę rozwoju.
AlexTR
1
Na razie wygląda na to, że zmiana ustawień pliku strony załatwiła sprawę i wszystko działa płynnie, tak jak tego chcę. Wielkie dzięki!
AlexTR

Odpowiedzi:

1

Bez pliku strony lub zbyt małego pliku strony, system operacyjny nie ma innego wyboru, jak zachować wszystkie brudne strony (które nie odzwierciedlają trwałych modyfikacji plików) w pamięci RAM. Oznacza to, że czyste strony są brutalnie eksmitowane z pamięci RAM, aby zrobić miejsce dla wszystkich tych brudnych stron. W rezultacie, po powrocie do programu, który nie był uruchamiany od dłuższego czasu, kod tego programu nie będzie w pamięci, co zmusi system operacyjny do załadowania go. Powoduje to opóźnienie, a także wymusza eksmisję czystych stron innych programów, rozpoczynając proces od nowa.

To nie jedyna negatywna konsekwencja braku pliku strony lub zbyt małego pliku strony. Ale to prawdopodobnie powoduje zachowanie, którego doświadczasz.

Ponadto nie masz racji, że Twój system operacyjny rzadko wykorzystuje więcej niż połowę pamięci. Prawie zawsze używa prawie wszystkiego. Nieużywanie pamięci to czysta strata. To nie jest tak, że możesz teraz używać 6 GB, więc możesz użyć 10 GB później. Każda pamięć niewykorzystana w danym momencie jest szansą na zawsze utraconą. Żaden porządny system operacyjny nie zmarnowałby tak dużo pamięci, chyba że nie miałby absolutnie żadnego wyboru - a system Windows ma wybór.

David Schwartz
źródło
Jak system operacyjny ma eksmitować czyste strony z pamięci RAM na dysk, jeśli nie ma pliku stronicowania? Ponadto, dopóki limit pamięci nie zostanie osiągnięty, system operacyjny z wyłączonym plikiem stronicowania jest w rzeczywistości bardziej responsywny, ponieważ nie wykonuje wymiany.
beatcracker
@beatcracker Po prostu ich eksmituje. Może odczytać je z systemu plików, jeśli będzie ich później potrzebował. To opóźnienie, które widzi. Zgadzam się, że system operacyjny z wyłączonym plikiem stron może początkowo być bardziej responsywny, ponieważ eksmituje tylko czyste strony, co jest tańsze niż eksmitowanie brudnych stron (ponieważ nie musisz ich najpierw zapisywać). Ale w końcu zmuszenie do tej strategii staje się katastrofalne. Jeśli uważasz, że zwiększenie możliwości systemu operacyjnego jeszcze gorzej, to uważasz, że system operacyjny został zaprojektowany przez głupców.
David Schwartz
Tak, wiem, jak działa wymiana i zarządzanie pamięcią, i zgadzam się z tobą w sprawie konsekwencji niewielkich plików stronicowania. Po prostu wskazuję, że część zdania With no page filenie ma sensu, ponieważ brak pliku strony = brak zamiany.
beatcracker
@beatcracker Nie śledzę. Co nie ma sensu? Czy potrafisz precyzyjnie określić zdanie, z którym się nie zgadzasz i dlaczego? Bez pliku strony brudne strony, które są własnością procesu, ale nie odzwierciedlają trwałych modyfikacji plików, nigdy nie mogą zostać usunięte z pamięci. Oznacza to, że czyste strony są brutalnie eksmitowane. Kiedy więc przejdziesz do programu, którego ostatnio nie używałeś, wiele jego czystych stron nie będzie w pamięci (na przykład jego plik wykonywalny i biblioteki), co zmusi system operacyjny do załadowania ich do pamięci. Dobrze? A to zmusi go do eksmisji czystych stron innych programów.
David Schwartz,
2
@beatcracker Po uruchomieniu programu strony z plików wykonywalnych tego programu powodują błąd w pamięci. Zakładając, że program nie modyfikuje własnego kodu, strony pozostają czyste (niezmodyfikowane) i mogą być eksmitowane (usuwane) z pamięci, ilekroć system operacyjny potrzebuje pamięci na coś innego. Ponieważ strony były czyste, nie trzeba ich nigdzie zapisywać w celu eksmisji - dane zawsze można odczytać z systemu plików. (Dlatego nie możesz usunąć pliku wykonywalnego, gdy jest uruchomiony!) Jeśli przełączysz się z powrotem na program, a kod, który musi zostać uruchomiony, został usunięty, nastąpi błąd w systemie plików.
David Schwartz