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

Обновлено: 07.07.2024

В интернете бытует устойчивое мнение, что служба SysMain (ранее – SuperFetch) абсолютно не нужна в Windows 10, установленной на SSD. Якобы недалекие разработчики Microsoft не понимают, что префетчинг не дает никакого ускорения на твердотельном диске, и нам приходится учить глупую ОС новой реальности, отключая службу.

К сожалению, эти тезисы основаны на устаревшей информации и не учитывают изменений, произошедших в Windows 10. Отчасти в этом виновата Microsoft, ограничившая доступ к документации центром отзывов.

На самом деле служба сокращает объем записи на диск за счет сжатия и объединения страниц памяти, повышая производительность под нагрузкой. Ее отключение прекрасно вписывается в мифы оптимизации SSD . Обновить их в этом контексте меня давно подталкивал читатель блога Арслан, а последней каплей стала пара дискуссий в форуме. Рассказ о сжатии памяти в сокращенном виде и без анонсов я добавил к разбору мифов еще в январе, а сегодня публикую полный материал в качестве отдельной записи.

Сжатие памяти в Windows 10

В Windows 10 отображаемое в графическом интерфейсе имя службы Superfetch сменилось на SysMain, что соответствует фактическому названию службы. Видимо, так Microsoft обозначила смещение основного назначения службы с унаследованного из старых ОС префетчинга приложений к новой функции — сжатию памяти (memory compression) .

Компания опубликовала рассказ о технологии еще в августе 2015 года, но почему-то исключительно в приложении Центр отзывов ( копия в PDF ). Как следствие, информация прошла мимо многих пользователей Windows 10. Ниже мое краткое объяснение и дополнительные сведения.

Принцип работы

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

Хранящаяся в памяти коллекция сжатых страниц называется compression store. Система использует единое хранилище для всех приложений (Win32 и UWP), а также индивидуальные хранилища для всех приложений Windows Runtime, обеспечивающие тримминг и своп. Вместо записи страниц в файл подкачки, диспетчер памяти сжимает их и помещает в соответствующее хранилище.

Как ни странно, в документе ничего не говорится про еще одну функцию службы SysMain — объединение страниц памяти (page combining) . Диспетчер памяти определяет страницы с одинаковым содержимым и объединяет их. Эта функция работает в рамках службы независимо от сжатия памяти.

Снижение объема записи на диск

За счет сжатия и объединения страниц памяти сокращается число операций ввода-вывода и соответственно снижается объем записи на диск. Поэтому бессмысленно отключать службу SysMain ради экономии ресурса SSD.

В 2019 году эта экономия вызовет усмешку у многих владельцев SSD, особенно у неоднократно сменивших вполне рабочие диски на более емкие и производительные. Но шесть лет назад хватало людей, озабоченных смертью накопителя от исчерпания циклов перезаписи. Думаю, и сейчас они есть (число комментариев к мифам застыло на отметке 991 лишь потому, что я когда-то массово отключил обсуждение старых записей :)

Но сжатие памяти в любом случае внедрялось не для этого.

Повышение производительности под нагрузкой

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

Наибольший эффект от технологии проявляется при сочетании недостатка памяти с существенной дисковой нагрузкой.

Сжатие памяти приносит больше пользы медленным, чувствительным к подкачке дискам — HDD и eMMC. Твердотельный накопитель нагрузить под завязку сложнее, но если вам это удалось, то избавление от лишних операций I/O лишним не будет.

Визуальные индикаторы сжатия памяти

В статье Microsoft вообще не упоминается служба SysMain , однако ее связь со сжатием памяти несложно вычислить экспериментальным путем. Кроме того, документ опубликовали перед выходом первой стабильной версии Windows 10, и лишь спустя год, в версии 1607, добавили наглядные сведения о сжатой памяти в диспетчер задач.

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

Также, в Process Explorer вы можете увидеть в дереве процесса System процесс Memory Compression (это был единственный наглядный способ на момент выхода Windows 10). Наконец, с помощью PowerShell вы можете получить текущий статус сжатия памяти командлетом Get-MMagent .

Если же служба SysMain отключена, сжатая память не работает, что видно по тем же показателям.

Компоненты службы SysMain

У службы пять компонентов, и вы можете проверить их статус в PowerShell от имени администратора командлетом Get-MMagent (MM – Memory Management, т.е. агент управление памятью). На картинке ниже стандартное состояние компонентов.

Управление новыми компонентами SysMain осуществляется командлетами Enable-MMagent и Disable-MMagent . Префетчинг, унаследованный из старых ОС , контролируется только в реестре (для указанных в документации параметров PowerShell запрос не поддерживается). Напомню, что суть префетчинга в том, чтобы ускорять операции, которые регулярно обращаются к одним и тем же данным на диске.

Сводная таблица компонентов службы и методов управления ими.

КОМПОНЕНТНАЗНАЧЕНИЕУПРАВЛЕНИЕ MemoryCompressionСжатие памятиPowerShellPageCombiningОбъединение страниц памяти с одинаковым содержимымApplicationPreLaunchПредугадывание запуска приложенийApplicationLaunchPrefetchingСистемный префетчинг запуска приложенийРеестрOperationAPI Предоставление другим приложениям доступа к системному префетчингу через API

Вы можете включать и выключать отдельные компоненты службы, и я покажу примеры в контексте диагностики.

Диагностика компонентов службы SysMain

В случае аномального поведения службы (например, высокой нагрузки на CPU или диск), можно попробовать определить, является ли причиной тот или иной компонент SysMain. Если у вас командлет Get-MMagent выдает картинку, отличную от приведенной выше, приведите службу в порядок. Вставьте код ниже в PowerShell от имени администратора и перезагрузитесь.

if ((Get-Service sysmain).status -ne "Running")

Set-Service sysmain -StartupType Automatic>

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters" -Name EnablePrefetcher -Value 3

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

Когда проблема возникает при стандартном состоянии службы, можно вести диагностику методом половинного деления. Конечно, нет гарантий, что проблема в конкретном компоненте, но попытка – не пытка. Отключите все компоненты службы, а затем включайте их порционно, отслеживая поведение системы (не забывайте перезагружать ОС после каждой операции).

Синтаксис командлетов PowerShell простой – в качестве параметра передается название компонента. Например, команды для отключения и включение сжатия памяти:

Префетчингом управляет параметр EnablePrefetcher в разделе реестра

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

Его стандартное значение 3 включает префетчинг Windows и его API для сторонних приложений, 2 оставляет только API, а 0 отключает полностью.

Заключение

Я исторически ратую за подробную документацию по продуктам Microsoft, и случай с SysMain является одним из худших примеров. Описание главной системной службы погребено в центре отзывов и никак не связано с фрагментами информации в блоге инсайдерской программы и справкой по командлету PowerShell, у которого в свою очередь не работают параметры управления унаследованными компонентами. Все это никак не способствует повышению уровня технических знаний и принятию информированного решения при настройке службы.

Да, у Microsoft есть официальные рекомендации по настройке служб Windows Server 2016 с Desktop Experience, которые с оговорками можно распространить на Windows 10. Там не рекомендуется изменять тип запуска службы (именно это означает ремарка No guidance). При этом в документе указан ручной тип запуска, а в Server 2019 и Windows 10 он автоматический. Но эти сведения опять же никак не связаны с техническим описанием службы.

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

Пользователи Windows 10 иногда сталкиваются с проблемами быстродействия системы. Часто причина заключается в неправильных системных настройках. Среди многих способов улучшить производительность Windows 10 есть один менее очевидный – изменение статуса службы SysMain (ранее – SuperFetch).

За что отвечает SysMain (SuperFetch)

В описании SysMain (SuperFetch) говорится, что данная служба “поддерживает и улучшает производительность системы с течением времени”. Однако механизм работы сервиса подробно не раскрывается.

SuperFetch – это функция, которая впервые появилась в Windows Vista. Служба постоянно работает в фоновом режиме, анализирует шаблоны обработки оперативной памяти и узнает, какие приложения используется чаще всего. Со временем SuperFetch помечает эти приложения как “часто используемые” и заранее загружает их в оперативную память.

Таким образом, благодаря работе SuperFetch, запуск приложения будет происходить гораздо быстрее, потому что оно уже было предварительно загружено в ОЗУ.

За что отвечает SuperFetch

По умолчанию SuperFetch заполняет свободную область оперативной памяти загружаемыми приложениями. Как только операционной системе потребуется больше оперативной памяти (например, для загрузки приложения, которое не было предварительно загружено) SuperFetch освободит необходимый объем ОЗУ.

SuperFetch является преемником службы Prefetch, которая появилась еще в Windows XP. Однако, Prefetch не анализировал шаблоны использования и не настраивал предварительную загрузку соответствующим образом.

Нужен ли вам SysMain (SuperFetch)?

В большинстве случаев SuperFetch действительно несет пользу. Если вы являетесь обладателем современного компьютера хотя бы со средними характеристиками, служба SuperFetch будет работать нормально и не доставит неприятностей.

Тем не менее, SuperFetch может вызывать некоторые проблемы:

  • Поскольку SuperFetch всегда работает в фоновом режиме, сама служба всегда использует ресурсы процессора и оперативную память.
  • SuperFetch полностью не устраняет необходимость загрузки приложений в оперативную память, но просто ускоряет этот процесс. Всякий раз, когда происходит загрузка, ваша система будет испытывать такое же замедление, как если бы вы запускали приложение без SuperFetch.
  • Запуск системы может замедлиться, потому что SuperFetch предварительно загружает большой объем данных с вашего жесткого диска в оперативную память. Если при каждом запуске или перезагрузке компьютера, ваш жесткий диск работает на 100%-ной загрузке в течение нескольких минут, то SuperFetch может быть виновником.
  • Эффект от использования SuperFetch может быть незаметным, если Windows 10 установлена на SSD. Поскольку SSD работает очень быстро, предварительная загрузка не требуется.
  • SuperFetch может вызывать проблемы в играх, если в вашей системе установлено 4 гигабайта памяти или меньше. Данная проблема актуальна для игр, использующих большой объем ОЗУ, которые постоянно запрашивают и освобождают память. Данное поведение может заставить SuperFetch постоянно загружать и выгружать данные.

Безопасно ли отключать SysMain (SuperFetch)?

Да, это безопасно для системы, но существует риск побочных эффектов от этого действия. Если ваша система работает хорошо, то рекомендуется оставить службу SuperFetch включенной. Если вы испытываете проблемы с высокой загрузкой жесткого диска, большим объемом потребляемой памяти или заметили ухудшение производительности во время активных операций с ОЗУ, то попробуйте отключить SuperFetch и понаблюдать за работой системы. Если что-то пойдет не так, вы всегда сможете снова включить службу.

В некоторых пользователей служба узла SysMain грузит диск Windows 10. Она может полностью загрузить слабый процессор компьютера. Раздел служб содержит её описание: поддерживает и улучшает производительность системы. Не очень похоже на повышение производительности.

Эта статья расскажет, что это за служба SysMain грузит диск в Windows 10. В двух словах постоянно используемые приложения заранее переносятся в оперативную память в сжатом виде. Вопрос заключается в том нужно и можно ли её полностью отключить и в какой ситуации.

Что это за служба SysMain Windows 10

Описание SysMain полностью соответствует описанию ранее известной службы SuperFetch. В актуальной версии операционной системы уже не получится найти SuperFetch, есть только SysMain. Работает скрытно в фоновом режиме, анализируя данные в оперативной памяти.

Часто используемые приложения заранее кэшируются в ОЗУ. Идея заключается в том, что когда Вы запускаете приложение оно в несколько раз быстрее загружается. Во время работы служба обращается к диску. Жёсткий диск начинает тормозить, что сказывается на работе ПК.

В диспетчере задач раздел Структура памяти отображает, сколько Используется сжатой памяти или, сколько В сжатой памяти хранится данных и собственно Зарезервировано (память, содержащая кэшированные данные и код, которые сейчас не используются).

Что это за служба SysMain Windows 10

В сравнении с классическим файлом подкачки (которым собственно ещё можно управлять и настраивать), служба SysMain работает автоматически без вмешательства пользователя. Её можно только отключить или включить (собственно по умолчанию она и включена).

Как отключить службу SysMain в Windows 10

Важно! Не рекомендуем полностью отключать службу узла SysMain. Если же она грузит диск или процессор, можете в несколько нажатий перезапустить её. Обладателям мощных игровых компьютеров она просто не нужна. У них всё и так молниеносно запускается.

Локальные службы

Откройте службы, выполнив команду Services.msc в окне Win+R. В списке всех служб (локальных) перейдите в Свойства службы SysMain.

Как отключить службу SysMain в Windows 10

Измените Тип запуска с Автоматически на значение Отключена. Чтобы, убрать нагрузку можно Остановить и заново Запустить службу.

служба узла sysmain грузит диск windows 10

Командная строка

Запустите командную строку от имени администратора Windows 10. Теперь выполните простую команду: sc config SysMain start= disabled.

служба узла sysmain можно ли отключить

Windows PowerShell

За что отвечает служба узла SysMain более-менее понятно. Можно с уверенностью сказать: за сжатие данных в оперативной памяти. И собственно их кэширование для увеличения скорости. Есть возможность включать или отключать отдельные компоненты службы.

В оболочке Windows PowerShell выполните команду Get-MMAgent. В результатах смотрите все компоненты службы SysMain. Думаю нужно отдельно добавить их краткое описание.

За что отвечает служба узла SysMain

  • ApplicationLaunchPrefetching — системный Prefetching запуска нужных приложений. Это собственно основной виновник загрузки диска и процессора.
  • ApplicationPreLaunch — собственно и есть функция предугадывания запуска часто используемых приложений. Заранее загружает их в память.
  • PageCombining — отвечает за объединение страниц памяти с одинаковым содержимым. Уменьшает количество запросов/обращений к памяти.
  • MemoryCompression — указывает на сжатие памяти.
  • OperationAPI — предоставление другим приложениям доступа к SysMain (SuperFecth) через API. Разработчикам Microsoft не закручивает гайки.

Например, для отключения компонента сжатия памяти MemoryCompression достаточно выполнить команду: Disable-MMagent -MemoryCompression. Всё просто! Можно его включить обратно: Enable-MMagent -MemoryCompression.

Компонент Prefetcher отключается только изменением значений реестра. Перейдите в раздел: HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ Session Manager\ Memory Management\ PrefetchParameters. Измените значение параметра EnablePrefetcher на 0.

Включив компьютер и загрузив операционную систему, мы можем обнаружить, что наш ПК существенно подтормаживает. Изучив причины дисфункции, мы видим, что виновником проблемы является процесс «SysMain», нагружающий процессор практически на все 100%. После перезапуска системы ПК может какое-то время работать нормально, после чего проблема проявляется вновь. Что это за служба узла под именем «SysMain», почему она грузит диск вашего ПК на Виндовс 10, и как устранить возникшую проблему? Расскажем об этом в нашем материале.

Что это за служба узла SysMain?

Как известно, «SysMain» – это служба ОС Windows 10, предназначенная для оптимизации работы с памятью и ускорения запуска приложений. Она анализирует особенности использования вашего компьютера, и оптимизирует запуск приложений и программ на вашем ПК.

В состав данной службы входят несколько системных процессов, в частности:

  • ApplicationLaunchPrefetching – основной виновник загрузки процессора и диска;
  • ApplicationPreLaunch – ответственен за предугадывание запуска часто используемых пользователем приложений;
  • PageCombining – объединяет страницы памяти со схожим содержимым;
  • MemoryCompression – ответственен за сжатие памяти;
  • OperationAPI – предоставляет приложениям доступ через API к SysMain.

До обновления ОС Виндовс 10 под номером 1809 рассматриваемая нами служба называлась «Superfetch», но с выходом обновления 1809 она получила название «SysMain».

Несмотря на то, что эта служба SysMain предназначена для ускорения приложений, она может создавать проблемы для некоторых пользователей. Это проявляется в высокой загрузке центрального процессора и диска ПК, вследствие чего компьютер начинает сильно сбоить и тормозить. Запущенные же пользователем приложения при этом могут вылетать на рабочий стол

Как остановить службу SysMain

Эффективным средством борьбы с загрузкой вашего диска процессом (службой) SysMain является отключение данной службы. Обычно это мало сказывается на общей работе ПК (особенно если вы используете SSD), а вот торможения ПК из-за SysMain прекращаются.

Для отключения службы выполните следующее:

  1. Нажмите на кнопки Win+R;
  2. В открывшемся окне введите services.msc и нажмите на ввод;
  3. Откроется окно с перечнем служб. Найдите в списке SysMain;

Также вы можете деактивировать службу SysMain использовав функционал командной строки

Для этого выполните следующее:

  1. Нажмите на кнопку Windows;
  2. Просто наберите cmd
  3. В перечне соответствий отобразится «Командная строка»;

sc stop “SysMain” & sc config “SysMain” start=disabled

Измените значение реестра Виндовс

Также может помочь избавиться от загрузки диска Виндовс 10 службой SysMain изменение ряда параметров реестра ОС Виндовс 10. Вам понадобится выполнить следующее:

  • Нажмите на кнопки Windows+R;
  • В открывшемся окне введите regedit и нажмите ввод;
  • В окне реестра перейдите по следующему пути:
  • В правой панели найдите параметр «Start», наведите на неё курсор, нажмите правую клавишу мышки, и нажмите на «Изменить»;

Обновите вашу ОС Виндовс

В некоторых случаях устранить проблему с SysMain может помочь обновление ОС Виндовс, выполненное стандартным образом. Для этого осуществите следующие шаги:

  1. Нажмите на кнопку «Пуск», и выберите «Параметры»;
  2. Далее перейдите в раздел «Обновление и безопасность»;
  3. Затем кликните на «Проверить наличие обновлений»;

Обновите драйвера для компонентов вашего ПК

Также рекомендуется обновить все драйвера для компонентов вашего PC до актуального уровня. Это можно сделать как вручную, скачав драйвера для ваших устройств с сайта разработчика, так и использовав полуавтоматизированные продукты уровня «DriverPack Solutions», «Driver Easy», «Driver Genius» и других.

В случае запуска перечисленных программ они просканируют вашу систему на предмет устаревших драйверов, определят перечень новых драйверов для загрузки, загрузят и установят их. Вам останется только подождать. К недостаткам данных продуктов относят обилие рекламы и бандлинг, в ходе которого помимо драйверов в вашу систему может установиться Яндекс.Браузер, различные антивирусы и прочий ненужный софт.

Рассмотрите апргейд вашего диска до SSD

Если на вашем PC с ОС Виндовс 10 установлен стандартный механический жёсткий диск, стоит подумать о переходе на твердотельный накопитель (SSD). Размещение вашей Виндовс и других часто используемых программ на SSD имеет важное значение, и позволит существенно ускорить работу вашей системы.

Большинство модерных лептопов оснащены слотом М.2. для подключения твердотельного накопителя NVMe. Если же такого слота нет, вы можете приобрести отдельный держатель для установки SSD на свой старый лептоп.

После установки SSD-накопителя и инсталляции на нём операционной системы скорость работы вашей Виндовс существенно возрастёт.

Заключение

В нашем материале мы разобрали, что это за служба SysMain, почему она грузит диск при работе Виндовс 10, и как устранить возникшую проблему. Если вы обновили вашу систему, и служба продолжает нагружать диск и ЦП вашего ПК, рекомендуем её отключить, для чего используйте один из перечисленных способов. Альтернативой данному решению может стать терпеливое ожидание, пока служба не выполнит все необходимые операции, или установке в системе SSD-диска, который позволит существенно ускорить работу вашего ПК.

Читайте также: