Улучшения кэша и диспетчера памяти

в этом разделе описаны улучшения диспетчера кэша и диспетчера памяти в Windows Server 2012 и 2016.

улучшения диспетчера кэша в Windows Server 2022

Теперь диспетчер кэша поддерживает NUMA, что позволяет системе лучше избегать перемещения данных на границах NUMA. Предотвращение доступа из узла NUMA к памяти и другим ресурсам ядра на другом узле NUMA увеличивает нагрузку. Сделав диспетчер кэша NUMA совместимым, мы исключили такие межплатформенные пересечения, что позволяет оптимизировать кэшированные рабочие нагрузки ввода-вывода в конфигурациях с несколькими узлами.

улучшения диспетчера кэша в Windows Server 2019

мы добавили поддержку Zero-Copy для служба хранилищаа постоянной памяти (PMEM). Дополнительные сведения о энергонезависимой памяти см. в разделе изучение и развертывание энергонезависимой памяти. В режиме прямого доступа (DAX) PMEM работает так же, как память, чтобы получить наименьшую задержку, где мы исключим лишнюю копию данных и обходите массу издержек из файловой системы Mini-Filters и стека хранилища. Этот режим работает только с файловой системой NTFS в качестве файловой системы.

Усовершенствования диспетчера кэша в Windows Server 2016

Кроме того, диспетчер кэша добавил поддержку для истинных асинхронных операций чтения с кэшированием. Это потенциально может повысить производительность приложения, если оно сильно зависит от асинхронных операций чтения с кэшированием.  Хотя большинство встроенных файловых систем поддерживали асинхронные операции чтения в течение определенного времени, часто возникали ограничения производительности из-за различных вариантов проектирования, связанных с обработкой внутренних рабочих очередей пулов потоков и FileSystem.  Благодаря поддержке от ядра диспетчер кэша теперь скрывает все сложности управления пулом потоков и рабочих очередей из файловой системы, что делает его более эффективным при обработке асинхронных операций чтения с кэшированием. Диспетчер кэша имеет один набор структур данных управления для каждого уровня вложенности виртуальных жестких дисков (максимально поддерживаемый системой) для максимального параллелизма.

Усовершенствования диспетчера кэша в Windows Server 2012

В дополнение к усовершенствованиям диспетчера кэша для последовательной работы для последовательных рабочих нагрузок был добавлен новый API кксетреадахеадгрануларитекс , позволяющий драйверам файловой системы, таким как SMB, изменять параметры упреждающего чтения. Это позволяет повысить пропускную способность для сценариев с удаленными файлами, отправляя несколько небольших запросов чтения с небольшим размером вместо отправки одного большого запроса на чтение вперед. Программно настраивать эти значения для каждого файла могут только компоненты ядра, такие как драйверы файловой системы.

Улучшения в диспетчере памяти в Windows Server 2012

Включение объединения страниц может уменьшить использование памяти на серверах, которые имеют большое количество частных страниц с одинаковым содержимым. Например, серверы, на которых работает несколько экземпляров одного приложения, интенсивно использующего память, или одно приложение, которое работает с очень повторяющимися данными, могут быть хорошим кандидатом на попытку объединения страниц. Недостаток функции объединения страниц повышает загрузку ЦП.

Ниже приведены некоторые примеры ролей сервера, в которых объединение страниц вряд ли дает много преимуществ:

  • Файловые серверы (большая часть памяти потребляется страницами файлов, которые не являются частными и, следовательно, некомбинированными)

  • серверы Microsoft SQL, настроенные для использования AWE или больших страниц (большая часть памяти является закрытой, но не подстраничной).

объединение страниц отключено по умолчанию, но его можно включить с помощью командлета Enable-сценарии mmagent Windows PowerShell. Объединение страниц было добавлено в Windows Server 2012.