DataLife Engine / Служба узла SysMain грузит диск Windows

Служба узла SysMain грузит диск Windows



Проблемы с производительностью — это всегда повод заглянуть в Диспетчер задач, ведь именно там чаще всего можно найти подсказку, указывающую на причину неполадки. Сегодня мы постараемся разобраться с одной из таких неполадок, а именно с высокой загрузкой жёсткого диска системным процессом SysMain, известным в более ранних версиях Windows как Superfetch. В Windows 10 служба SysMain отвечает за сокращение объёма записи на диск путём сжатия и объединения страниц памяти. Когда оперативной памяти не хватает, данные не перемещаются в файл подкачки, а сжимаются и только когда диспетчер памяти понимает, что одного сжатия оказывается недостаточно, страницы сбрасываются в pagefile.sys.

Служба узла SysMain грузит диск Windows

Фактически это означает сокращение числа операций ввода-вывода на жёсткий диск, следовательно, точка зрения, согласно которой нужно отключать службу SysMain на ПК с SSD-дисками ради экономии их ресурса, не имеет под собой сколь-либо серьёзных обоснований. Из этого можно сделать вполне логичный вывод, что отключать SysMain нежелательно, но как быть если SysMain сама начинает грузить диск? Такое аномальное поведение службы может быть связано с некорректной работой одного из её компонентов, повреждением системных файлов и наличием ошибок на самом жёстком диске.

Проверьте статус компонентов службы



Первое, что можно сделать при обнаружении повышенной загрузки процессом SysMain, это перезагрузить компьютер или перезапустить службу SysMain из оснастки управления службами. Если ситуация не изменится, проверьте состояние компонентов службы SysMain. Для этого откройте с повышенными правами консоль PowerShell и выполните команду Get-MMagent. В результате в окно консоли будут выведены семь параметров, из которых обращаем внимание на следующие:

• MemoryCompression — отвечает за сжатие памяти.
• PageCombining — объединяет страницы памяти с идентичным содержимым.
• ApplicationPreLaunch — отвечает за ускорение запуска часто используемых программ.
• ApplicationLaunchPrefetching — обеспечивает системный префетчинг запуска приложений.
• OperationAPI — предоставляет к SysMain доступ другим программам через API.
В идеале все эти компоненты должны быть включены, то есть иметь значение True. Если какой-то из указанных компонентов отключен (имеет значение False), включите его, выполнив в PowerShell команду Enable-MMagent  -имя-компонента, например, Enable-MMagent  -ApplicationPreLaunch.


Исключение составляет префетчинг (ApplicationLaunchPrefetching), включается и отключается он через системный реестр. Чтобы его включить, откройте командой regedit редактор реестра, разверните ветку HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters и измените значение расположенного в правой колонке параметра EnablePrefetcher. Значение 3 активирует префетчинг Windows и его API для стороннего ПО, значение 2 включает только API, 0 — отключает компонент полностью.
Если служба узла SysMain грузит диск, будучи включена со стандартными настройками, отключите все компоненты и службы, а затем включайте их один за другим, перезагружая каждый раз компьютер и отслеживая реакцию операционной системы на изменённую конфигурацию. Напоминаем, что отключить компонент в PowerShell можно командой Disabled-MMagent -имя-компонента.

Отсутствие положительного результата станет означать, что загрузка диска процессом SysMain связана с чем-то другим, в частности, с повреждением системных файлов и наличием ошибок на жёстком диске. Соответственно, в этом случае необходимо проверить физическое состояние диска и просканировать Windows на предмет повреждение или отсутствия системных файлов штатными утилитами SFC и Dism. Дополнительно следует исключить сторонние факторы — отключить службы сторонних приложений и проанализировать автозагрузку, убрав из неё всё лишнее. 
В крайнем случае вы можете отключить саму службу SysMain в оснастке управления службами, установив для неё тип запуска «Отключена», а затем нажав «Остановить». Надо, однако, отметить, что остановка службы SysMain не является окончательным решением, поэтому прибегать к нему стоит лишь тогда, когда другие способы устранения неполадки оказались неэффективными.
31-01-2021
Вернуться назад