What is superfetch or sysmain ? how to fix it or disable it?
Содержание:
- Как ее отключить
- Компоненты службы SysMain
- Как выявить перегруженность диска
- Отключение службы superfetch
- Визуальные индикаторы сжатия памяти
- Как отключить SuperFetch в Windows 10
- Нужно ли выключать супервыборку
- Сжатие памяти в Windows 10
- Что делать, если процесс грузит диск, сеть, память или процессор?
- Диагностика компонентов службы SysMain
- Сжатие памяти в Windows 10
- Компоненты службы SysMain
- Почему служба грузит диск
- Сжатие памяти в Windows 10
- Способы отключения службы
- Контролируем драйвера SATA
Как ее отключить
Существует несколько основных способов отключить SysMain – изменение настроек локальных служб ПК, с применением Командной строки, функционала PowerShell и системного реестра.
«Локальные службы»
Чтобы приостановить действие процесса SysMain через блок «Службы», выполняют следующие шаги:
открыть раздел «Пуск» на Рабочем столе ПК, в поле поиска ввести запрос «Службы», кликнуть на подходящий выпавший вариант (обычно первый сверху)
Внимание! Дополнительный способ активации нужного ресурса – использование комбинации горячих клавиш «Win + R». Затем в пустое поле вводят запрос «services.msc» и нажимают «ОК»;
откроется дополнительное рабочее окно, где отобразится список доступных технических служб;
в конце перечня располагается наименование «SysMain», необходимо вызвать контекстное меню софта (кликнуть правой клавишей мышки);
выбрать строку «Свойства», перейти на вкладку «Общие»;
на блоке «Тип запуска» перевести значение в положение «Выключено».
Вместо указанного значения можно активировать пункт «Вручную». При таком варианте работоспособностью утилиты пользователь сможет управлять по мере необходимости.
Через Командную строку
Command Line – дополнительная встроенная утилита, в которой используются специальные команды для внесения изменений. Этапы действий пользователя:
активировать раздел «Пуск» (через кнопку на Рабочем столе);
- набрать значение «cmd», выпавший элемент открывают с помощью контекстного меню и строку «Запустить от имени администратора»;
- для отключения перегружающей процессор ПК программы вводят следующую комбинацию: sc stop «SysMain» & sc config «SysMain» start=disabled, запустить процедуру.
Чтобы включить службу заново, печатают sc config «SysMain» start=auto & sc start «SysMain» и запускают процедуру клавишей «ОК» или «Enter».
С применением PowerShell
Компания «Майкрософт» предлагает пользователям разные варианты редактирования оболочек программ и встроенных утилит. Отключить SysMain через PowerShell можно следующим образом:
правой кнопкой мыши вызвать контекстное меню блока «Пуск», кликнуть по строке «Windows PowerShell (администратор)»;
для отключения функционала сервисной службы, которая перегружает процессор персонального устройства в данный момент, необходимо напечатать комбинацию символов Stop-Service –Force –Name «SysMain»; Set-Service –Name «SysMain» -StartType Disabled.
Если потребуется запустить службу вновь, нужно произвести те же действия, но в последнем пункте написать Set-Service –Name «SysMain»; -StartType Automatic –StatusRunning.
Системный реестр
Для работы с системным реестром дополнительных навыков не требуется. Однако изменения в данный регистр вносятся в точности с указанными инструкциями. Если скорректировать настройки неправильно, восстановить работоспособность персонального устройства будет сложно. Этапы действий:
активировать поисковое поле ПК, ввести запрос «regedit», операционная система предложит несколько вариантов – выбрать верхнюю строку;
откроется дополнительное окно, в левой части которого необходимо перейти по пути: Hkey Local Machine, System, Current Control Set, Session Manager, Memory Management, Prefetch Parameters;
в правой части окна отобразится строка «Enable Superfetch»
Внимание! Если указанный пункт отсутствует, его требуется создать. Правой клавишей мышки нужно кликнуть по папке «Prefetch Parameters», выбрать «Создать», затем «Параметр DWORD на 32 бита»; по нужному файлу кликают правой кнопкой мышки, в выпавшем списке возможностей выбирают «Изменить»; для отключения функционала в поле устанавливают значение «0» и подтверждают операцию
Для закрепления изменений персональный компьютер рекомендуют перезагрузить в принудительном порядке (выбирают именно перезагрузку, не стандартную процедуру выключения ПК).
Некоторые встроенные в операционную систему программы вызывают проблемы с работой дополнительно установленных приложений (например, с играми, управляющими утилитами). В таком случае на мониторе ПК появится соответствующее уведомление с указанием имени софта, который вызвал сбой. Отдельные блоки можно отключить самостоятельно, используя приведенные инструкции
Важно следить за состоянием ПК после деактивации
Компоненты службы SysMain
У службы пять компонентов, и вы можете проверить их статус в PowerShell от имени администратора командлетом Get-MMagent (MM – Memory Management, т.е. агент управление памятью). На картинке ниже стандартное состояние компонентов.
Управление новыми компонентами SysMain осуществляется командлетами Enable-MMagent и Disable-MMagent. Префетчинг, , контролируется только в реестре (для указанных в документации параметров PowerShell запрос не поддерживается). Напомню, что суть префетчинга в том, чтобы ускорять операции, которые регулярно обращаются к одним и тем же данным на диске.
Сводная таблица компонентов службы и методов управления ими.
Компонент | Назначение | Управление |
---|---|---|
MemoryCompression | Сжатие памяти | PowerShell |
PageCombining | Объединение страниц памяти с одинаковым содержимым | |
ApplicationPreLaunch | Предугадывание запуска приложений | |
ApplicationLaunchPrefetching | Системный префетчинг запуска приложений | Реестр |
OperationAPI | Предоставление другим приложениям доступа к системному префетчингу через API |
Вы можете включать и выключать отдельные компоненты службы, и я покажу примеры в контексте диагностики.
Как выявить перегруженность диска
Если компьютер долго обрабатывает информацию, и за ним практически невозможно работать, пользователю рекомендуется зайти в диспетчер задач. Для этого необходимо воспользоваться сочетанием горячих клавиш «Win + X» или «Ctrl + Del + Alt».
На экране отобразится полноценное окно, где будет список процессов, потребуется щелкнуть по вкладке «Подробнее». Далее нужно тапнуть по заголовку столбца «Диск». Будет сформирован список по убыванию нагрузки. Первые позиции вызывают самую большую загруженность.
Как вычислить перегруженность диска ПК
Если нагрузка спровоцирована работой одной программы, то ее необходимо закрыть или постараться оптимизировать ее работу, удалить, в конце концов. Сильно подгружать диск может одновременное скачивание нескольких файлов с торрента.
Обратите внимание! Если же виновник торможения — антивирусная программа, то стоит установить другой продукт или на время работы его деактивировать
Отключение службы superfetch
Работающая операционная система создает карту, объем которой достигает 600 МБ. И если объем оперативной памяти составляет от 1 до 2 Гб, то служба superfetch съедает значительную часть ресурсов. Кроме того, создаются файл подкачки и виртуальная память. И использование данного процесса, наоборот, тормозит работу.
На современных персональных компьютерах и ноутбуках оптимальным объемом оперативной памяти считается 4 Гб. Работа superfetch происходит без видимых проблем никоим образом не сказывается на общей производительности.
Отключение службы не вызовет никаких последствий. Но существуют случаи, при которых отключение считается целесообразным решением:
- Малый объем ОЗУ. Отключенная служба снижает количество обращений к жесткому диску, к файлу подкачки.
- Длительный срок эксплуатации винчестера. За время продолжительной работы на пластинах HDD появляются битые сектора, которые провоцируют поиск исправных, что приводит к дополнительной нагрузке. Старые модели жестких дисков имеют низкую скорость считывания.
- Многозадачность напрямую работает с оперативной памятью. Информация от нескольких открытых программ и процесс superfetch значительно снижают скорость работы первых.
Системный процесс superfetch, с одной стороны, функция полезная, если персональный компьютер обладает достаточным объемом оперативной памяти, а с другой стороны, способен спровоцировать замедление работы системы. Использование данного ресурса полностью зависит от пользователя.
Визуальные индикаторы сжатия памяти
В статье Microsoft вообще не упоминается служба SysMain, однако ее связь со сжатием памяти несложно вычислить экспериментальным путем. Кроме того, документ опубликовали перед выходом первой стабильной версии Windows 10, и лишь спустя год, в версии 1607, добавили наглядные сведения о сжатой памяти в диспетчер задач.
Когда служба SysMain включена, вы можете открыть диспетчер задач на вкладке Производительность и в разделе Память убедиться в использовании сжатой памяти, а также увидеть дополнительные сведения, наведя курсор на область Структура памяти.
Также, в Process Explorer вы можете увидеть в дереве процесса System процесс Memory Compression (это был единственный наглядный способ на момент выхода Windows 10). Наконец, с помощью PowerShell вы можете получить текущий статус сжатия памяти командлетом Get-MMagent.
Если же служба SysMain отключена, сжатая память не работает, что видно по тем же показателям.
Как отключить SuperFetch в Windows 10
Вчера заметил на своем компьютере подозрительную активность жесткого диска, который был полностью загружен. Ну и как Вы понимаете в это время нормально пользоваться своей Windows 10 не возможно. Я решил разобраться с этой проблемой, открыл диспетчер задач Windows 10 и увидел как служба узел SuperFetch полностью грузит мой жесткий диск.
Данная статья расскажет что это за служба SuperFetch и как отключить SuperFetch в Windows 10. Рассмотрим несколько самых удобных способов, позволяющих полностью отключить службу SuperFetch. Которые кстати подойдут и пользователям предыдущих операционных систем Windows, так как эта служба впервые была представлена ещё в Windows Vista.
Что это за служба SuperFetch
Служба SuperFetch автоматически загружает часто используемые приложения в оперативную память компьютера, что в свою очередь значительно сокращает время их загрузки.
Когда пользователь обращается к приложению, часть данных для которого уже находятся в оперативной памяти, оно загружается намного быстрее, чем раньше, потому как отпадает необходимость в поиске на винчестере и загрузке части информации.
https://youtube.com/watch?v=iiUNysLaL_8
Если говорить о том нужно ли отключать службу SuperFetch, то я скажу: что если у Вас установлен SSD диск, то Вам просто необходимо её отключить.
Тем более для пользователей с наличием установленного SSD разница в работе с включенной и отключенной службой по сути не будет заметна.
Нужно ли выключать супервыборку
Супервыборка, как и многие другие компоненты Виндовс 7, активны по умолчанию не просто так. Дело в том, что работающая служба Superfetch может ускорить быстродействие операционной системы на слабых компьютерах ценой повышенного потребления оперативной памяти, пусть и незначительного. Кроме того, супервыборка способна продлить срок службы традиционных HDD, как бы это парадоксально не звучало – активная супервыборка диском практически не пользуется и уменьшает частоту обращения к накопителю. Но если же система установлена на SSD, то Superfetch становится бесполезной: твердотельные накопители быстрее магнитных дисков, отчего никакого прироста скорости работы эта служба не приносит. Её отключение освобождает часть оперативной памяти, но слишком мало для серьёзного влияния.
Когда же стоит отключать рассматриваемый элемент? Ответ очевиден – когда с ним наблюдаются проблемы, в первую очередь высокая нагрузка на процессор, с которой неспособны справиться более щадящие методы вроде очистки жесткого диска от «мусорных» данных. Деактивировать супервыборку можно двумя методами – через окружение «Службы» или посредством «Командной строки».
Способ 1: Инструмент «Службы»
Самый простой вариант остановки работы супервыборки – отключить её через менеджер служб Виндовс 7. Происходит процедура по такому алгоритму:
- Используйте комбинацию клавиш Win + R для доступа к интерфейсу «Выполнить». Введите в текстовую строку параметр и нажмите «ОК».
В перечне элементов Диспетчера служб отыщите элемент «Superfetch» и дважды кликните по нему ЛКМ.
Для отключения супервыборки в меню «Тип запуска» выберите вариант «Отключить», после чего воспользуйтесь кнопкой «Остановить». Для применения изменений используйте кнопки «Применить» и «ОК».
Перезагрузите компьютер.
Эта процедура отключит как саму Superfetch, так и автозапуск службы, таким образом полностью деактивируя элемент.
Способ 2: «Командная строка»
Не всегда получается задействовать менеджер служб Виндовс 7 – например, если версия операционной системы представляет собой Starter Edition. К счастью, в Windows нет задачи, которую нельзя было бы решить задействованием «Командной строки» — она же поможет нам и в выключении супервыборки.
- Перейдите в консоль с полномочиями администратора: откройте «Пуск» – «Все приложения» – «Стандартные», найдите там «Командную строку», кликните по ней ПКМ и выберите вариант «Запуск от имени администратора».
После запуска интерфейса элемента введите такую команду:
Проверьте корректность ввода параметра и нажимайте Enter.
Для сохранения новых настроек осуществите ребут машины.
Как показывает практика, задействование «Командной строки» эффективнее отключения через менеджер служб.
Что делать, если служба не отключается
Не всегда указанные выше методы эффективны – супервыборка не отключается ни через управление службами, ни с помощью команды. В таком случае придётся вручную менять некоторые параметры в системном реестре.
- Вызовите «Редактор реестра» — в этом нам снова пригодится окно «Выполнить», в котором нужно ввести команду .
Раскройте дерево каталогов по следующему адресу:
Найдите там ключ под названием «EnableSuperfetch» и дважды щёлкните по нему левой кнопкой мыши.
Для полного отключения введите значение , после чего нажмите «ОК» и перезагружайте компьютер.
Заключение
Мы детально рассмотрели особенности службы Superfetch в Windows 7, привели методы её отключения в критических ситуациях и решение, если способы оказались неэффективны. Напоследок напоминаем – программная оптимизация никогда не заменит апгрейд компонентов компьютера, поэтому нельзя слишком уж сильно на неё полагаться.
Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.
Сжатие памяти в 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 лишним не будет.
Что делать, если процесс грузит диск, сеть, память или процессор?
Для решения проблемы нужно разобраться с ее причинами. Так, единичный сбой одной из служб или загруженность компьютера вирусами требуют разных решений.
Перезагрузка системы и проверка на вирусы
Зачастую проблему с узлом службы локальной системы можно решить перезагрузкой компьютера. Так ошибка может быть вызвана единичным сбоем подпроцесса, входящего в данную группу.
Иногда данное действие не приводит к ожидаемому результату, тогда необходимо исключить проблему с настройками антивируса. Потребуется отключить его на некоторое время, проверить загрузку диска сразу после отключения. Потом отключить старт защитника при загрузке компьютера, перезагрузить компьютер и проверить загрузку диска. Если проблема решилась – стоит сменить защитную программу или покопаться в ее настройках.
Загрузка диска или ЦП узлом службы локальная система может быть вызвана и вирусами. Для диагностики поможет бесплатная утилита Dr.Web CureIt. Кроме данной программы можно использовать иные решения, например Trojan Remover или Malware Anti-Malware. Данный софт просканирует систему, сообщит о возможных угрозах и поможет с ними разобраться без покупки нового антивируса.
Как исправить ошибку «переход на веб-страницу отменен»
Выключение центра обновлений и Superfetch
Проблему могут вызвать стандартные службы операционной системы. Их стоит отключить и проверить состояние загрузки диска. В «Службах» необходимо найти «Superfetch» и «Центр обновления Windows», нажать на каждую правой кнопкой мыши и выбрать «Отключить» в «Свойствах» типа загрузки. Также каждый процесс необходимо «Остановить». Перед проверкой эффективности метода компьютер нужно перезагрузить. Обе службы можно отключать без страха, одна из них отвечает за периодические обновления системы, которые отключить не так просто, а другая занимается оптимизацией запуска, но иногда может отрабатывать со сбоем.
Проверка системных файлов при помощи DISM
«Узел службы локальная система» может грузить не только диск, но и сеть с памятью. Для решения этой проблемы существует способ, который может помочь и при перегрузке диска. Обусловлена ошибка повреждением системных файлов, вызывающих перегрузку оперативной памяти.
В таком случае в командной строке (Win+R и ввести CMD), запущенной от имени администратора необходимо написать: DISM.exe /Online /Cleanup-image /Restorehealth.
Запустится служба DISM, которая займется восстановлением системных файлов. После окончания работы службы необходимо ввести команду восстановления системных файлов: sfx /scannow
Когда команда отработает, следует перезагрузить компьютер и проверить потребление ресурсов в диспетчере задач. Если ситуация не изменилась, следует в командной строке запустить команду net stop wuauserv. После ее отработки – команду net stop bits. Следующим шагом нужно в папке Windows, хранящейся на системном диске, найти папку SoftwareDistribution. Все содержащиеся в ней файлы и папки следует удалить.
После компьютер необходимо перезагрузить и в командной строке, запущенной от администратора написать те же две команды, которые прописывались до этого действия.
Исправляем ошибки службы «Удаленный вызов процедур (RPC)»
Удаление обновлений
Стоит попробовать устранить неполадки, которые могли возникнуть при обновлении ОС. Для этого в центре обновлений выбирается соответствующий пункт.
Восстановление системы
Если ошибка возникла после установки какой-то новой программы или обновления системы стоит прибегнуть к восстановлению системы через точку восстановления. Тем же этот способ подойдет, если в реестр вручную вносились новые ветки или удалялись старые. Если точка восстановления сохранялась слишком давно – все внесенные с тех пор изменения могут пропасть.
Отключение файла подкачки и быстрой загрузки
Может помочь и отключение быстрой загрузки системы, если ошибка возникла на ноутбуке. Настраивается это в параметрах электропитания, опция называется «Изменение параметров, которые сейчас недоступны», а для отключения нужно просто убрать галочку.
Специфические методы решения проблемы
Есть еще несколько способов исправить ошибку, но это скорее частные случаи:
- Иногда ошибка кроется во внутренних процессах, не поддающихся диагностике. Стоит в качестве профилактики проверить жесткий диск командой chkdsk или специальной программой.
- Также может помочь отключение всех внешних USB-устройств, например, флешек, мышки, клавиатуры и принтера.
- Отключить стоит и push-уведомления, если на компьютере они предусмотрены и включены.
- Если ни один из методов не помог — для более точной диагностики причины проблемы можно скачать Process Explorer.
Диагностика компонентов службы SysMain
В случае аномального поведения службы (например, высокой нагрузки на CPU или диск), можно попробовать определить, является ли причиной тот или иной компонент SysMain. Если у вас командлет Get-MMagent выдает картинку, отличную от приведенной выше, приведите службу в порядок. Вставьте код ниже в PowerShell от имени администратора и перезагрузитесь.
#если служба не запущена, запустить и установить автоматический тип запуска if ((Get-Service sysmain).status -ne "Running") { Start-Service sysmain Set-Service sysmain -StartupType Automatic } #включить все компоненты службы Enable-MMagent -MemoryCompression Enable-MMagent -PageCombining Enable-MMagent -ApplicationPreLaunch Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters" -Name EnablePrefetcher -Value 3
Скрипт включает службу и все компоненты, а также устанавливает для SysMain автоматический тип запуска. Если ситуация не исправилась, смотрите в сторону и исключения сторонних факторов.
Когда проблема возникает при стандартном состоянии службы, можно вести диагностику методом половинного деления. Конечно, нет гарантий, что проблема в конкретном компоненте, но попытка – не пытка. Отключите все компоненты службы, а затем включайте их порционно, отслеживая поведение системы (не забывайте перезагружать ОС после каждой операции).
Синтаксис командлетов PowerShell простой – в качестве параметра передается название компонента. Например, команды для отключения и включение сжатия памяти:
Disable-MMagent -MemoryCompression Enable-MMagent -MemoryCompression
Префетчингом управляет параметр EnablePrefetcher в разделе реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
Его стандартное значение 3 включает префетчинг Windows и его API для сторонних приложений, 2 оставляет только API, а отключает полностью.
Сжатие памяти в 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 лишним не будет.
Компоненты службы SysMain
У службы пять компонентов, и вы можете проверить их статус в PowerShell от имени администратора командлетом Get-MMagent (MM – Memory Management, т.е. агент управление памятью). На картинке ниже стандартное состояние компонентов.
Управление новыми компонентами SysMain осуществляется командлетами Enable-MMagent и Disable-MMagent. Префетчинг, , контролируется только в реестре (для указанных в документации параметров PowerShell запрос не поддерживается). Напомню, что суть префетчинга в том, чтобы ускорять операции, которые регулярно обращаются к одним и тем же данным на диске.
Сводная таблица компонентов службы и методов управления ими.
Компонент | Назначение | Управление |
---|---|---|
MemoryCompression | Сжатие памяти | PowerShell |
PageCombining | Объединение страниц памяти с одинаковым содержимым | |
ApplicationPreLaunch | Предугадывание запуска приложений | |
ApplicationLaunchPrefetching | Системный префетчинг запуска приложений | Реестр |
OperationAPI | Предоставление другим приложениям доступа к системному префетчингу через API |
Вы можете включать и выключать отдельные компоненты службы, и я покажу примеры в контексте диагностики.
Почему служба грузит диск
- служба SysMain может нагружать не только жёсткий диск, но и процессор, что обусловлено большим количеством установленных на компьютере программ;
- к тому же работа сервиса способна спровоцировать просадки производительности в играх, которые задействуют большой объём оперативной памяти, явление характерно для систем с памятью в 4 Гб и меньше. Если игра регулярно запрашивает и высвобождает память, это заставляет SysMain загружать и выгружать информацию;
- замедление старта ОС может быть связано с предварительной загрузкой большого объёма данных с диска в оперативную память службой;
- ещё одной причиной проблемы сильной загруженности является засилье в системе вредоносного софта.
При выявлении в Диспетчере задач повышенной нагрузки, спровоцированной службой, это говорит о недостатке ОЗУ. Проблема решается и программными средствами, путём манипуляций с размером файла подкачки в параметрах быстродействия системы. Если чистая загрузка Windows позволяет компьютеру вернуть быстродействие, стоит заняться очисткой жёсткого диска от ненужного софта.
Сжатие памяти в 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 лишним не будет.
Способы отключения службы
Итак, с тем, нужно ли отключать SuperFetch в Windows 7/10, мы более или менее разобрались, теперь давайте посмотрим, как можно эту службу деактивировать. Для этого существует как минимум три инструмента: оснастка управления службами, командная строка и реестр.
Через оснастку «Службы»
Попасть в интерфейс управления службами проще всего, выполнив в диалоговом окошке Run (Win+R) команду services. Также вы можете открыть Диспетчер задач, перейти на вкладку «Службы» и нажать внизу ссылку «Открыть службы».
Далее в списке найдите службу под названием SuperFetch и дважды кликните по ней.
В открывшемся диалоговом окошке нажмите кнопку «Остановить», а в выпадающем меню «Тип запуска» выберите опцию «Остановлена». Нажмите «Применить», затем «OK» и перезагрузите компьютер.
С помощью командной строки
Отключить супервыборку также можно из командной строки. Откройте консоль CMD от имени администратора и выполните в ней команду sc config SysMain start= disabled.
Команда net stop в данном случае не подходит, так как она лишь временно остановит службу, но не изменит её тип запуска. Чтобы новые настройки вступили в силу, перезагружаем компьютер.
С помощью редактора реестра
Наконец, отключить SuperFetch позволяет редактор реестра. Откройте его командой regedit в окошке «Выполнить» и разверните ветку:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Memory Management/PrefetchParameters
В правой колонке редактора вы увидите DWORD-параметр EnableSuperfetch. Он может принимать четыре значения:
- 0 – отключает службу;
- 1 – включает ее только для файлов программ (запускаться быстрее будут только приложения);
- 2 – включает службу только для компонентов загрузки системы (ускорение загрузки Windows);
- 3 – включает супервыборку и для системы, и для программ.
Соответственно, чтобы полностью отключить SuperFetch, вам нужно заменить текущее значение на 0 и перезагрузить компьютер.
Контролируем драйвера SATA
Если вы не устанавливали специализированный драйвер на IDE, ваши SATA-диски могут работать неправильно. Зайдите в «Диспетчер устройств» через подменю Win+X и найдите подраздел «Контроллеры IDE». Если в перечне указан «Стандартный SATA…» и есть проблемы с дисками, лучше установить специальный драйвер от производителя ноутбука или материнской платы компьютера.
Для этого зайдите на сайт производителя, отыщите драйвера SATA или AHCI для вашей модели. Загрузите представленный файл и запустите его. Если с сайта скачивается архив, распакуйте файлы в папку, в диспетчере кликните по «Контроллеру IDE» и выбирайте «Обновить драйверы». Укажите пусть к папке в диалоге «Искать на этом компьютере» и дождитесь окончания процесса.
Если переустановить специализированные драйвера не удалось, попробуйте отключить использование MSI. Это технология используется в стандартном контроллере, но она может не поддерживаться вашим оборудованием. Чтобы выключить MSI:
- В диспетчере откройте свойства контроллера.
- Переходите на вкладку «Сведения», открывайте «Пусть к экземпляру устройства» и оставьте открытым выданное значение.
- Зажмите Win+R и впишите regedit, чтобы запустить реестр.
- В редакторе открывайте узел: HKEY_LOCAL_MACHINE/ System/ CurrentControlSet /Enum, далее используйте путь, который приведен в открытом значении для контроллера. Затем переходите в Device Parameters/ Interrupt Management/ MessageSignaledInterruptProperties.
- Нажмите на MSISupported и впишите в качестве значения 0.
Как удалить «Яндекс.Алису» с компьютера — Все способы