Для одного из наших приложений нам нужно настроить виртуальную память на машине Windows, чтобы она управлялась системой.
Это можно сделать вручную в разделе «Свойства системы» -> «Производительность» (настройки ...) -> вкладка «Дополнительные параметры производительности» -> «Изменение виртуальной памяти ...» -> Проверить, не переключен ли жесткий диск на «Размер, управляемый системой».
Это здорово, но я должен сделать это для большого количества машин и предпочел бы пакетную команду или сценарий PowerShell для сбора этой информации при проверке других конфигураций.
Самое близкое, что я нашел для взаимодействия с этой страницей, это
wmic computersystem get AutomaticManagedPagefile
Но это проверяет только, настроен ли флажок вверху, а не конкретный жесткий диск.
Есть ли у кого-нибудь предложения о том, как это сделать более автоматизированным способом?
Все параметры файла подкачки хранятся в реестре.
Пусть ваш скрипт изменит значения в следующем ключе:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
Например, PagingFiles
запись - это многозначная строка, в которой каждый отдельный файл подкачки находится в отдельной строке. Цифры после имени файла представляют минимальный и максимальный размер файла подкачки.
Если у файла подкачки есть числа после имени пути, например
C:\pagefile.sys 1024 1024
Тогда это означает, что для него установлен нестандартный статический размер 1 ГБ.
Ноль или ничего там, где должны быть числа, означает, что файл подкачки автоматически управляется системой.