SysMain что это за служба и как ее отключить?


Так вот, данная служба SuperFetch работает под процессом svchost.exe и предназначена для улучшения производительности ПК. Ну по крайней мере так об этом говорят разработчики винды, но в прочем я не могу сказать что это не так. Хотя мне кажется, что многие со мной не согласятся и будут уверены что эту службу нужно отключать, ибо она потребляет слишком много оперативки.
SuperFetch это по сути кэш Windows. Эта служба осуществляет правильную работу кэша и следит, чтобы вам было комфортно работать за ПК, чтобы просто ничего не тупило и не зависало.
Служба кэширует файлы (но не блоки как Primocache) тех программ, которыми вы пользуетесь часто. Поверьте, что вникать в особые подробности работы этой технологии нет, это просто неинтересно. Также SuperFetch может предварительно загружать некоторые файлы или данные, которые могут вам понадобиться. Она это сама пытается понять что и когда вы используете, чтобы обеспечить быстрый доступ к этим данным. Все эти данные записываются в оперативную память, но она может быть быстро освобождена если этого требует ситуация. Так что тут все продумано
Хотя у некоторых юзеров наблюдалась странная ситуация. Короче вся свободная оперативная память уходила под кэш, свободной почти не оставалось. Но при этом программы сообщали что для их работы не хватает оперативки. Вот такие пироги. Скажу только одно, что в Windows 10 я такого глюка не замечал, а вот исправили ли это в Windows 7 я не знаю, но думаю что исправили
Если вы думаете что SuperFetch не работает, то я вас понимаю, ибо я сам так думал. И кстати думал так долго. Пока не провел эксперимент, который и вам советую. Отключите просто эту службу и поработайте за компом месяц. А потом включите и сравните. Ничего не буду говорить, вы эффект заметите сами.
Итак, SysMain увидеть на вкладке Службы в диспетчере:
Видите там есть цифра 856, это идентификатор процесса, по нему можно определить под каким процессом работает эта служба. Собственно вот на вкладке Процесс можно это и увидеть, что это один из процессов svchost.exe (у них одинаковые идентификаторы):
Теперь откроем службы (в диспетчере на вкладке Службы есть кнопка), там нет такой службы как SysMain, но есть SuperFetch. Нажимаем два раза по службе:
Появится вот такое окошко, вот тут и написано имя службы и отображаемое имя:
Как отключить службу SuperFetch? Ну, это не сложно. В этом же окне вам нужно выбрать Тип запуска: Отключена, а потом нажать на кнопку Остановить:
Тогда вы отключите автоматический запуск службы и остановите ее текущую работу. В итоге технология кэширования SuperFetch будет отключена. Чтобы включить, нужно все вернуть обратно. После включения или отключения лучше сделать перезагрузку
По поводу отключения. Лично мое мнение — служба действительно работает и помогает ускорение системы в целом, но не все это замечают, потому что уже по умолчанию служба SuperFetch включена. То есть это уже норма. А вот отключение ее, как раз таки приведет к снижению производительности файловой системы, программы могут медленнее запускать как и устанавливаться. Но тут такое дело, если у вас SSD, то и без SuperFetch у вас Windows будет работать достаточно быстро
Я надеюсь что у меня получилось обьяснить что за служба SysMain и как отключить.
Удачи вам
Вадим Стеркин
В интернетах бытует устойчивое мнение, что служба 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












