Używam 64-bitowego systemu Windows 7 z ramą 8G. Po pewnym użyciu Windows wydaje się powolny. Napęd jest wstrząsający. Kiedy patrzę na monitor zasobów i aktywność dysku, widzę kilka przypadków użycia pliku strony (c: \ pagefile.sys). Sprawdzam pamięć fizyczną i widzę około 2,3G dostępnej pamięci i 700M wolnej pamięci.
Dlaczego system Windows nie wykorzystuje więcej wolnej pamięci i mniej pliku strony? Czy trzeba zostawić x wolnej pamięci RAM, ile by to było? Czy to procent fizycznego barana?
Mój plan to dostać więcej pamięci RAM i SSD na dysk główny. Tymczasem cierpię z powodu wolnego działania.
windows-7
memory
task-manager
resource-monitor
Tony_Henrich
źródło
źródło
Odpowiedzi:
Po pierwsze, nie umieszczaj pliku strony na dysku SSD. Podczas gdy dyski SSD poprawiły się w zakresie wyrównywania zużycia, plik stronicowania jest często zapisywany i spowoduje to degradację dysku SSD znacznie szybciej niż w przypadku ogólnego zastosowania.
Wiele osób nie rozumie, że system Windows nigdy tak naprawdę nie ma wolnej pamięci. Istnieje kilka MB, które są wolne dla żądań serii, ale w przeciwnym razie różnica między aktywną pamięcią aplikacji w użyciu a pamięcią całkowitą jest na ogół zużywana przez tak zwaną pamięć „rezerwową”.
Są to strony pamięci, które można w razie potrzeby zrzucić (pamięć rezerwowa to świetna, duża pamięć podręczna), więc z punktu widzenia aplikacji jest dostępna, ale w żadnym wypadku nie jest używana. Zwykle działają one jako pamięć podręczna dysku lub pamięć podręczna pliku stronicowania.
Celem systemu Windows jest utrzymanie danych, które najprawdopodobniej zostaną wykorzystane w tej buforie rezerwowej, w oparciu o wzorce użytkowania. Aby użyć wymyślonego przykładu, porównajmy względną wartość pamięci prywatnej programu takiego jak Windows Update (zwykle skonfigurowanego do uruchamiania raz w tygodniu), względem buforowania zawartości pulpitu w tej pamięci rezerwowej:
Przez większość czasu Windows Update śpi. Zatrzymuje pamięć i przez większość czasu nie robi z nią absolutnie nic wartościowego, czekając na nadejście harmonogramu. Z drugiej strony zawartość twojego folderu na pulpicie może być ciągle przeszukiwana, szczególnie jeśli lubisz zapisywać w nim pliki.
W tym przypadku system Windows odrzuci pamięć przydzieloną do usługi Windows Update (nawet jeśli pamięć nie jest „pełna”) i wykorzysta miejsce dostępne w pamięci RAM do buforowania zawartości pulpitu. Spowoduje to lepszą wydajność ty.
Windows podejmuje tysiące takich decyzji i zarządza pamięcią podręczną dysku dla setek plików stale zapisywanych przez usługi działające w tle, próbując zrównoważyć to z zapotrzebowaniem pamięci aktywnych aplikacji. Czasami źle się dzieje przez chwilę i może być konieczne poczekanie, aż dane zostaną ponownie zapisane w pamięci, gdy przełączamy się do aplikacji, która od jakiegoś czasu śpi w tle. Ale o czym musisz pomyśleć, gdyby utrzymywał tę aplikację całkowicie w pamięci, ile innych aplikacji utknęłoby w pamięci, czekając na zakończenie zapisu lub odczytu dysku, lub same byłyby zmuszone do przewrócenia strony? Co jeśli były to aplikacje, których używasz w międzyczasie?
Aplikacje często przydzielają strony pamięci, które są używane bardzo rzadko, takie jak kod startowy (używany raz, a potem niepotrzebny), kod zamykający (używany raz, a następnie niepotrzebny) lub kod aktualizacji. Trzymanie tego wszystkiego w pamięci nie jest praktyczne, gdy są o wiele ważniejsze zastosowania, więc kiedy Windows zidentyfikuje sekcje kodu, które nie były potrzebne do bieżącej pracy aplikacji, z przyjemnością wysyła te sekcje do pliku strony, nawet jeśli technicznie mógłby je zachować w pamięci.
(I w rzeczywistości, w zależności od aplikacji, systemy często przydzielają więcej pamięci, niż faktycznie mają, oczekując, że większość z nich skończy na stronie. Jeśli patrzysz na szczegółowy podział pamięci, opłata za „Zatwierdź” lub „Zatwierdź” to ilość pamięci, jaką Windows przydzielił różnym aplikacjom. Plik strony służy do zapewnienia gwarancji dla tej pamięci, nawet jeśli nie ma wystarczającej ilości fizycznej pamięci RAM, aby ją pokryć.)
Zauważyłem, że w swoim pytaniu rozróżniasz dostępną i wolną pamięć; Przepraszam, jeśli czujesz się wykładowcą i już znasz różnicę. Idealnie, wolna pamięć jest zawsze równa 0. Jednak chociaż pamięć rezerwowa jest pamięcią, którą można zwolnić, nie zawsze pamięć może zostać szybko zwolniona. Jeśli spróbuję zapisać plik o pojemności 1 GB na dysku, system Windows umieści go w pamięci podręcznej dysku, jeśli to możliwe, a następnie powoli zapisze go na dysku twardym w tle. Jeśli aplikacja musi zażądać 50 MB dodatkowej pamięci, ale żadna nie jest dostępna, ponieważ ta ogromna pamięć podręczna dysku jest wciąż usuwana, aplikacja zawiesi się, dopóki nie będzie dostępna. Trzymanie pod ręką małego bufora pozwala systemowi rozwiązać ten problem z minimalnym opóźnieniem z punktu widzenia użytkownika.
źródło
Nazywa się to planowaniem z wyprzedzeniem.
Dobrze jest zapisywać strony pamięci w pliku stronicowania, gdy jest jeszcze dużo pamięci RAM. Gdy tylko program zażąda więcej pamięci niż jest wolna, system operacyjny może jak najszybciej zwolnić miejsce. Lepiej przygotować się teraz niż później.
Jeśli system operacyjny miałby poczekać, napotkasz wąskie gardło wydajności. Jeśli program prosi o więcej pamięci niż jest dostępne, teraz musisz poczekać, aż system operacyjny wypisze zmieniony blok pamięci, a następnie zwolnić je.
źródło
Istnieje narzędzie do ustawiania pamięci podręcznej dysku przez SysInternal.
Możesz go znaleźć tutaj:
http://technet.microsoft.com/en-us/sysinternals/bb897561.aspx
źródło
Plik stron był wyłączony przez ostatnie 7 lat. Właściwie to pierwsza rzecz, którą robię po świeżej instalacji. Nigdy nie miałem z tym problemu. (Właściwie miałem jedną grę o nazwie „Titan Quest”, wykonałem bardzo głupią kontrolę przy starcie, więc utworzyłem plik strony o wielkości 4 MB, aby go uszczęśliwić, i później wyłączyłem PF). Co do pierwotnego pytania. Windows używa naszej pamięci RAM do buforowania I / O dysku. Z jakiegoś powodu uważa, że pamięć podręczna dysku jest równie ważna dla kodu i danych aktywnych programów. I nie ma możliwości ograniczenia rozmiaru pamięci podręcznej dysku. Jest tam z założenia i nie możemy nic z tym zrobić ... Och, czekaj! Możemy! Po prostu wyłącz plik stronicowania. Używasz aplikacji obciążających pamięć RAM? Kup więcej pamięci RAM lub zamknij jedną aplikację przed uruchomieniem innej. Możesz użyć Process Explorer, aby zobaczyć, ile pamięci jest zużyte w danym momencie.
źródło
Argumenty ( tu i tutaj ) do przechowywania i używania pliku strony, nawet jeśli jest wystarczająca ilość pamięci RAM, to:
Za pomocą Monitora zasobów Windows można zobaczyć, ile pamięci RAM jest używane do buforowania (pokazane jako „Tryb gotowości”).
Jeśli zauważysz, że pamięć RAM jest faktycznie używana lub w trybie gotowości, plik strony jest dla Ciebie przydatny. Jeśli połączenie twoich zadań i dostępnej pamięci RAM powoduje, że znaczna część pamięci pojawia się jako nieużywana („wolna”), myślę, że nie ma potrzeby szlifowania dysku twardego tylko z szacunku dla kogoś, kto „wie lepiej i powiedział to tutaj „.
źródło
Brakuje wszystkich tych komentarzy i poprawnej odpowiedzi. Wyłącz plik strony. Nie jest potrzebny z 8 GB pamięci RAM, a jeśli potrzebujesz więcej pamięci RAM, kup ją. naprawdę bardzo proste.
źródło