Я посмотрел на следы xperf нескольких пользователей, и здесь функция ntoskrnl.exe!SmKmStoreHelperWorker
ядра начинает выделять память.
(Нажмите на изображение, чтобы увеличить)
Я обнаружил это на sysinternals .
Я спросил Microsoft об этом, и ответ таков: это сделано специально. Это связано со сжатием системной памяти.
В анонсе Windows 10 Build 10525 Microsoft объяснила это немного :
В Windows 10 мы добавили новую концепцию в диспетчере памяти под названием хранилище сжатия, которое представляет собой набор сжатых страниц в памяти. Это означает, что, когда диспетчер памяти чувствует нехватку памяти, он сжимает неиспользуемые страницы, а не записывает их на диск. Это уменьшает объем памяти, используемой для каждого процесса, позволяя Windows 10 одновременно поддерживать больше приложений в физической памяти. Это также помогает улучшить отзывчивость в Windows 10. Хранилище сжатия находится в рабочем наборе системного процесса.Поскольку системный процесс хранит хранилище в памяти, его рабочий набор увеличивается именно тогда, когда память делается доступной для других процессов. Это видно в диспетчере задач и причина, по которой системный процесс потребляет больше памяти, чем предыдущие выпуски.
Поэтому вместо записи данных памяти в файл подкачки он сжимает их. И эта сжатая память показывается в системном процессе.
Microsoft также разместила больше деталей во внутреннем центре. Winbeta создал статью, которая включает в себя больше деталей.
По-видимому, причина этого была в том, что Microsoft предпочла приостановить приложения UWP, когда они не были на переднем плане, очень похоже на управление некоторыми ОС смартфонов. Пользователи Windows 8 поняли (возможно, нет), что если бы приложений не было на экране, они бы не запускались, пока пользователь не переключился на них. Подход «все или ничего» обновляется в Windows 10, добавляя слой между файлом подкачки и обычным пейджинговым действием. Теперь, столкнувшись с проблемами нехватки памяти, MM определит, какие страницы следует переместить в измененный список, в процессе, называемом обрезкой.Измененный список представляет собой вторичный список файлов подкачки, резервное копирование списка резервных файлов подкачки. Список резервных копий записывается в том случае, если память восстанавливается из резервного списка другим процессом, и исходный процесс ищет свою страницу. Windows 10 MM вместо всех или ничего будет сжимать неиспользуемые страницы, а не записывать их на диск. При меньшем объеме записи результатом должно быть меньшее количество дисковых операций - благодаря сжатию - и теперь больше данных может храниться в памяти.
По словам команды Windows: « На практике сжатая память занимает около 40% несжатого размера, и в результате того, что типичное устройство работает с обычной рабочей нагрузкой, Windows 10 записывает страницы на диск только на 50% чаще, чем предыдущие версии ОС. «Если все пойдет по плану, пользователи Windows могут испытывать сокращение времени ожидания для всех устройств, а также увеличение продолжительности жизни в системах с жесткими дисками на основе флэш-памяти .
Декомпрессия - это тоже то, что Windows 10 спроектирована так, чтобы хорошо работать. Windows 10 использует комбинацию распараллеливания и последовательного чтения для создания страниц в памяти после вызова. Новая распаковка должна ускорить процесс, поскольку Windows 10 одновременно распаковывает данные и читает их параллельно, используя несколько процессоров. Старые версии Windows, возможно, чувствовали себя вялыми из-за скорости передачи данных между дисками.
Microsoft также выпустила видео на канале 9, который объясняет эту функцию.
Сжатие памяти в Windows 10 RTM
https://channel9.msdn.com/Blogs/Seth-Juarez/Memory-Compression-in-Windows-10-RTM
В этом видео Мехмет Ийгун провел некоторое время, обсуждая, почему системный процесс в Windows 10 занимает немного больше памяти и почему это хорошо. Процесс, занимающий больше памяти, звучит как плохая вещь - пока я не пойму больше об управлении памятью, поиске страниц и сбоях аппаратных / программных страниц. Оказывается, что ОС выполняет некоторые умные оптимизации, которые позволяют вашим процессам обрезать часть памяти, но не обязательно выводить ее на диск. Мало того, что память сохраняется в ОЗУ, но она также сжимается, что приводит к более частым сбоям жесткого диска. Результаты должны сделать для более быстрого опыта.
В последних сборках TH2 Microsoft обновила описание в диспетчере задач и теперь также показывает, что процесс SYSTEM содержит compressed memory
:
чтобы избежать путаницы по поводу «высокого» использования.
В обновлении Window 10 Anniversary, которое было выпущено в августе 2016 года, Microsoft извлекла Compression, теперь показанную в псевдопроцессе, призванном Memory Compression
больше не сбивать с толку пользователей, почему SYSTEM имеет такое большое использование памяти:
Но похоже, что Taskmgr не показывает этот процесс, только ProcessExplorer / ProcessHacker могут показать его. Taskmgr показывает только объем сжатой памяти в обзоре:
Если вы наведите курсор мыши на график используемой памяти в Taskmgr, вы увидите всплывающую подсказку, которая показывает количество сжатых данных.
В этой демонстрации 388 МБ сжимаются до 122 МБ, поэтому 267 МБ сохраняются со сжатием.