Windows 10 высокое использование памяти при выключенном экране

Windows 10 высокое использование памяти при выключенном экране

Несколько дней назад я обновил свой ноутбук до Windows 10. Я настроил свои планы электропитания таким образом, что мои экраны выключаются через несколько минут, если нет активности (у меня есть второй экран, подключенный к моему ноутбуку). С тех пор, как я обновился, когда я возвращаюсь к своему ноутбуку после периода бездействия и включаю свои экраны, они просыпаются очень медленно, и я получаю предупреждение о том, что Windows не хватает памяти.

Я уже пробовал отключать мониторы с открытым диспетчером задач, чтобы посмотреть, какой процесс занимает много памяти. Похоже, что процесс "System" использует до 1 ГБ памяти, когда экран выключен, что очень много, если учесть, что в общей сложности 4 ГБ. Когда экраны снова включаются, объем памяти остается около 1 ГБ в течение минуты, а затем падает до нормального уровня около 200 МБ.

У меня не было этой проблемы при работе с Windows 8.1, поэтому я думаю, что это связано с обновлением. Я уже посмотрел на предложениеэтотвопрос по использованию poolmon для поиска проблемы с драйвером. Из этого следует, что проблема может быть связана с драйвером ReadyBoost, но я не совсем уверен.

Использование памяти нормальное при нормальной работе или когда я выключаю экраны на короткое время. Кажется, оно резко возрастает только при выключении экранов на более длительный период времени.

Знаком ли кто-нибудь с этой проблемой или, может быть, знает, как уменьшить использование оперативной памяти при выключенных экранах?

решение1

После перепробования множества различных настроек и конфигураций выяснилось, что проблема связана с настройками моего дополнительного монитора.

Монитор имеет три различных видеовхода (VGA, DVI и HDMI) и был настроен на автоматическое определение правильного входа на основе того, какой подключен. Поскольку я использую только HDMI, я изменил определение входа на «ручной» и установил HDMI. Теперь у меня больше не заканчивается память.

Примечательно, что у меня не было этой проблемы в Windows 7 и Windows 8.1, но она есть в Windows 10.

решение2

Хорошо, в трассировке я вижу, что функция ntoskrnl.exe!SmKmStoreHelperWorkerядра начинает выделять память.

введите описание изображения здесь

Я обнаружил это на прошлой неделе наsysinternals.

Я спрашивал об этом Microsoft, и ответ был таков: это сделано намеренно. Это связано со сжатием системной памяти.

Ванонс Windows 10 Build 10525, Microsoft немного объяснила это:

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

Поэтому вместо записи данных памяти в файл подкачки он их сжимает. И эта сжатая память отображается в процессе System.

Связанный контент