Udostępnij przez


Dostrajanie wydajności menedżera pamięci i pamięci podręcznej

Domyślnie system Windows buforuje dane plików odczytywane z dysków i zapisywane na dyskach. Oznacza to, że operacje odczytu odczytują dane plików z obszaru w pamięci systemowej, znanej jako pamięć podręczna plików systemowych, a nie z dysku fizycznego. W związku z tym operacje zapisu zapisują dane plików w pamięci podręcznej plików systemowych, a nie na dysku, a ten typ pamięci podręcznej jest określany jako pamięć podręczna z zapisem wstecznym. Buforowanie jest zarządzane na poziomie obiektu pliku. Buforowanie odbywa się pod kierunkiem Menedżera pamięci podręcznej, który działa nieprzerwanie, gdy system Windows jest uruchomiony.

Dane plików w pamięci podręcznej plików systemowych są zapisywane na dysku w odstępach czasu określonych przez system operacyjny. Opróżnione strony pozostają w roboczym zestawie pamięci podręcznej systemu (gdy ustawiono FILE_FLAG_RANDOM_ACCESS i dojście pliku nie zostało zamknięte) lub na liście rezerwowej, w której stają się częścią dostępnej pamięci.

Zasady opóźniania zapisywania danych do pliku i przechowywania ich w pamięci podręcznej do momentu opróżnienia pamięci podręcznej są nazywane zapisem leniwym i jest wyzwalane przez Menedżera pamięci podręcznej w określonym przedziale czasu. Czas, w którym blok danych plików jest opróżniany, jest częściowo oparty na czasie, przez jaki był przechowywany w pamięci podręcznej i ile czasu od czasu ostatniego uzyskania dostępu do danych w operacji odczytu. Dzięki temu dane plików, które są często odczytywane, pozostaną dostępne w pamięci podręcznej plików systemowych przez maksymalny czas.

Ten proces buforowania danych pliku przedstawiono na poniższej ilustracji:

buforowanie danych pliku

Jak pokazano na ciągłych strzałkach na powyższym rysunku, region danych o rozmiarze 256 KB jest ładowany do miejsca pamięci podręcznej 256 KB w przestrzeni adresowej systemu, gdy jest najpierw żądany przez Menedżera pamięci podręcznej podczas operacji odczytu pliku. Następnie proces trybu użytkownika kopiuje dane w tym miejscu do własnej przestrzeni adresowej. Po zakończeniu dostępu do danych proces zapisuje zmienione dane z powrotem do tego samego miejsca w pamięci podręcznej systemu, jak pokazano przez kropkowaną strzałkę między przestrzenią adresową procesu a pamięcią podręczną systemu. Gdy Menedżer pamięci podręcznej ustalił, że dane nie będą już potrzebne przez określony czas, zapisuje zmienione dane z powrotem do pliku na dysku, jak pokazano na kropkowanej strzałki między pamięcią podręczną systemu a dyskiem.

W tej sekcji: