Я просмотрел xperf следы нескольких пользователей и здесь функция ntoskrnl.exe!SmKmStoreHelperWorker
Кернела начинает выделять память.
(Нажмите на изображение для увеличения)
Я обнаружил это на sysinternals .
Я спросил об этом компанию Microsoft, и ответ заключается в том, что это по замыслу. Это связано с компрессией системной памяти.
В объявлении Windows 10 Build 10525, Microsoft объяснила это немного :
В Windows 10 мы добавили новую концепцию в менеджере памяти под названием хранилище сжатия, которое представляет собой коллекцию страниц, сжатых в памяти. Это означает, что когда менеджер памяти чувствует давление в памяти, он будет сжимать неиспользуемые страницы вместо записи их на диск. Это уменьшает объем памяти, используемый для каждого процесса, что позволяет Windows 10 поддерживать больше приложений в физической памяти за один раз. Это также помогает обеспечить лучшую скорость отклика в Windows 10. Хранилище сжатия живет в рабочем наборе системного процесса. Системный процесс держит магазин в памяти, его рабочий набор растет именно тогда, когда память становится доступной для других процессов. Это видно в диспетчере задач, и причина, по которой системный процесс потребляет больше памяти, чем в предыдущих версиях. 0x2 и 0x2 и поэтому вместо записи данных памяти в файл страницы он их сжимает. И эта сжатая память отображается в Системном процессе.
Microsoft также разместила более подробную информацию во внутреннем хабе. Winbeta создала статью , которая включает в себя больше деталей.
Видимо, причина этого случилась с тем, что Microsoft решила приостановить работу UWP приложений, когда они не были на переднем плане, что очень похоже на управление некоторыми смартфонами. Пользователи Windows 8 поняли (возможно, и нет), что если бы приложений не было на экране, они бы не работали до тех пор, пока пользователь не переключится обратно на них. Подход ‘все или ничего’ обновляется с Windows 10 вводит уровень между работой с файлами страниц и нормальной работой с пейджингом. Теперь, столкнувшись с проблемами давления в памяти, MM определит, какие страницы должны быть перемещены в измененный список в процессе под названием trimming. Измененный список - это вторичный список файлов резервного копирования резервных копий списка резервных копий. Список резервных копий снимается в случае, если память была восстановлена из резервного списка другим процессом, а исходный процесс ищет свою страницу. Не считая всего или ничего, Windows 10 ММ сжимает неиспользуемые страницы, вместо того, чтобы записывать их на диск. При меньших объемах записи результатом должно быть меньшее количество операций с диском - благодаря сжатию - и теперь в памяти может храниться больше данных.
По словам команды Windows, “в практике, сжатая память занимает около 40% от несжатого объема, и в результате типичного устройства, работающего с типичной рабочей нагрузкой, Windows 10 записывает страницы на диск только 50% так часто, как в предыдущих версиях OS.** Если все идет по плану, Вindows пользователи могут испытывать снижение времени ожидания для всех устройств, а также увеличение срока службы на системах, которые имеют жесткие диски на базе флэш-памяти.
Декомпрессия - это также то, на что хорошо рассчитана 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 Update, которое было выпущено в августе 2016, Microsoft извлекла Compression в который теперь показан в псевдо-процессе под названием Memory Compression
, чтобы больше не смущать пользователей, почему SYSTEM имеет такое большое использование памяти:
Но похоже, что Taskmgr не показывает этот процесс, только ProcessExplorer/ProcessHacker может его показать. В обзоре Taskmgr отображается только объем сжатой памяти:
Если вы наведете курсор на график использованной памяти в Taskmgr, то увидите всплывающую подсказку, показывающую количество спрессованных данных.
В этой демонстрации 388 МБ сжаты до 122 МБ, таким образом 267 МБ сохраняются с помощью сжатия.