Udostępnij przez


Ulepszenia menedżera pamięci podręcznej i pamięci

W tym temacie opisano ulepszenia Menedżera pamięci podręcznej i Menedżera pamięci w systemach Windows Server 2012 i 2016.

Ulepszenia menedżera pamięci podręcznej w systemie Windows Server 2022

Menedżer pamięci podręcznej ma teraz świadomość NUMA, co zapewnia, że system lepiej unika przenoszenia danych przez granice NUMA. Unikanie dostępu z węzła NUMA do pamięci i innych zasobów jądra w innym węźle NUMA zwiększa duże obciążenie. Dzięki dostosowaniu menedżera pamięci podręcznej do architektury NUMA wyeliminowaliśmy takie przeskoki między węzłami NUMA, optymalizując tym samym buforowane obciążenia I/O działające w konfiguracjach wielowęzłowych.

Ulepszenia menedżera pamięci podręcznej w systemie Windows Server 2019

Dodaliśmy obsługę magazynu pamięci nieulotnej (PMEM) dla Zero-Copy. Aby uzyskać więcej informacji na temat pamięci trwałej, zobacz Omówienie i wdrażanie pamięci trwałej. W trybie bezpośredniego dostępu (DAX) funkcja PMEM działa jak pamięć, aby uzyskać najmniejsze opóźnienie, w którym eliminujemy dodatkową kopię danych i pomijamy wiele obciążeń z Mini-Filters systemu plików i stosu magazynu. Ten tryb działa tylko w przypadku systemu plików NTFS.

Ulepszenia menedżera pamięci podręcznej w systemie Windows Server 2016

Menedżer pamięci podręcznej dodał również obsługę prawdziwie asynchronicznych buforowanych odczytów. Może to potencjalnie poprawić wydajność aplikacji, jeśli w dużym stopniu korzysta z asynchronicznych buforowanych odczytów.  Większość wbudowanych systemów plików od pewnego czasu obsługuje asynchroniczne buforowane odczyty, jednak często występowały ograniczenia wydajności wynikające z różnych decyzji projektowych dotyczących obsługi puli wątków oraz wewnętrznych kolejek roboczych systemów plików.  Dzięki obsłudze właściwej dla jądra Menedżer pamięci podręcznej ukrywa teraz wszystkie złożoności zarządzania pulą wątków i kolejkami roboczymi z systemów plików, dzięki czemu jest wydajniejszy w obsłudze asynchronicznych operacji odczytu w pamięci podręcznej. Menedżer pamięci podręcznej ma jeden zestaw struktur danych sterujących dla każdego z maksymalnie obsługiwanych przez system poziomów zagnieżdżania VHD w celu zmaksymalizowania równoległości.

Ulepszenia menedżera pamięci podręcznej w systemie Windows Server 2012

Oprócz ulepszeń menedżera pamięci podręcznej w celu odczytywania logiki z wyprzedzeniem dla obciążeń sekwencyjnych dodano nowy interfejs API CcSetReadAheadGranularityEx , aby umożliwić sterownikom systemu plików, takim jak SMB, zmianę parametrów odczytu z wyprzedzeniem. Zapewnia lepszą przepustowość w scenariuszach zdalnych plików, wysyłając wiele niewielkich żądań odczytu wcześniejszego zamiast wysyłania pojedynczego dużego żądania odczytu wcześniejszego. Tylko składniki jądra, takie jak sterowniki systemu plików, mogą programowo konfigurować te wartości dla poszczególnych plików.

Ulepszenia Menedżera pamięci w systemie Windows Server 2012

Włączenie łączenia stron może zmniejszyć użycie pamięci na serwerach, które mają wiele prywatnych stron z identyczną zawartością. Na przykład serwery uruchamiające wiele instancji tej samej aplikacji intensywnie korzystającej z pamięci, lub pojedyncza aplikacja, która działa z bardzo powtarzalnymi danymi, mogą być dobrymi kandydatami do wypróbowania łączenia stron. Wadą włączania łączenia stron jest zwiększenie użycia procesora CPU.

Oto kilka przykładów ról serwera, w których łączenie stron prawdopodobnie nie przyniesie większych korzyści:

  • Serwery plików (większość pamięci jest zużywana przez strony plików, które nie są prywatne i dlatego nie można ich łączyć)

  • Serwery Microsoft SQL Server są skonfigurowane do używania AWE lub dużych stron (większość pamięci jest prywatna, lecz niepodlegająca stronicowaniu)

Łączenie stron jest domyślnie wyłączone, ale można je włączyć za pomocą polecenia cmdlet Enable-MMAgent programu Windows PowerShell. Połączenie strony zostało dodane w systemie Windows Server 2012.