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.