Почему sysmain грузит диск
Перейти к содержимому

Почему sysmain грузит диск

Загруженность жесткого диска на 100%

Такой вопрос: грузит жесткий на сто процентов. Стоит десятая винда. Диспетчер пишет, что виновата служба Sysmain, однако ее отключение не помогло. Стал грузить процесс System.

Такая проблема внезапно появляется во время игры: может появиться как через час, так и через пять минут, а может и вообще не появиться.

Интернет говорит, что эта беда случается у некоторых владельцев десятки.

Итак, что посоветовал Гугл и что и не помогло:

  • отключил Windows Search
  • отключил Sysmain
  • отключил подсказки Windows
  • проверил компьютер на вирусы
  • поковырял драйвер StorAHCI.sys в реестре
  • поискал решение в Гугл

Можно ли как-то избавиться от этой напасти, или стоит выбросить жесткий и поставить новый?

Десятка без SSD(Церни, заткнись!) неюзабельна.

Пользовался с hdd долго и все вполне ок работало, все стандартно: было два жёстких (где то 150мб чтения), один с выделенным разделом по Винду (50гб), другой под игры, проги и прочее, если ставил. Винда почищена от мусора и служб.
Вот пересел на ссд и по мне просто запуск ускорился (в ведьмаке время кадра плавнее стало, в других без изменений), в остальном в прогах типа браузера и аналогичного и не заметно разницы. Я просто больше ожидал, что прям везде почувствую прирост (п.с. ссд нормальный по скоростям).

забыл главное — покупка ssd

Можно ещё кабель попробовать поменять.

Открываешь Диспетчер задач -> Производительность — > в левом нижнем углу "Монитор ресурсов". Там как на скриншоте смотришь работу диска, куда система пишет. Это поможет понять откуда ноги растут.

Superferch/Prefetch отключено? Не служба (на ней висит часть мемори менеджмента, в отличие от 7, хотя попробовать поможет ли можно, ничего страшного не будет), а через реестр и powershell.
https://youtube.com/watch?v=_Fuu6MyjjEo
P.S. Ещё можно Windows Defender поковырять на предмет загрузки диска.

Попробую отключить. Авось, поможет.

Все решается в полнолуние на перекрестке, ну что за незнание элементарных основ?!

Мне кажется, что начать нужно с HDD. Не нравятся мне эти провалы на графике HDDScan в начале диска. Возможно наличие нестабильных секторов, которые препятствуют нормальной работе. Может быть, какой-то файл игры располагается в этих секторах, или игра подключает какую-то системную библиотеку расположенную в этих секторах. Возможно ОС пытается открыть на запись какой-то разросшийся лог-файл или сформировать огромный отчёт об ошибке.

Когда в очередной раз заметите эту аномальную активность, то постарайтесь запомнить время её начала, а потом откройте и изучите журнал событий: Win+R -> eventvwr -> Enter. Смотрите Журналы Windows (Приложения, Система). Ориентируйтесь на время начала активности диска. Уделите особое внимание записям с красными (Ошибка) и жёлтыми (Предупреждение) значками.

Неплохо бы посмотреть на диск программой Hard Disk Sentinel, там в наглядной форме можно оценить "здоровье" диска и подробнее изучить S.M.A.R.T.

Попробуйте проверить диск на ошибки.
Запустите командную строку от имени Администратора ( в поиске наберите cmd, ПКМ, запуск от имени Администратора). Если система установлена на раздел C, то наберите "chkdsk C: /f /r" (без кавычек). Так как проверка системного раздела не может быть выполнена при работающей ОС, то будет предложено запланировать проверку при следующем запуске; согласитесь набрав "Y" (без кавычек), Enter. Перезагрузите систему. Запустится проверка раздела с поиском и попыткой восстановления файлов в повреждённых секторах. Это может занять несколько часов. Не отключайте питание компьютера до окончания работы команды.
Посмотреть отчёт о результатах работы команды: Win+R -> eventvwr -> Журналы Windows -> Приложения; найдите источник события с именем Wininit (код события 1001), изучите отчёт. Подобным образом можно проверить другие разделы этого диска (при наличии); например, для раздела D: команда будет "chkdsk D: /f /r" (без кавычек). Она будет выполняться в "живой" системе. Если есть программы установленные на раздел D:, то лучше их не запускать пока не отработает chkdsk — работать они не будут, т.к. том будет отмонтирован на время проверки. Результат можно будет увидеть здесь же, в интерпретаторе командной строки.

Также из командной строки можно запустить проверку целостности системных файлов. Запустите командную строку от имени Администратора ( в поиске cmd, ПКМ, запуск от имени Администратора). Наберите "sfc /scannow" (без кавычек); дождитесь завершения работы команды.

Нюансы отключения службы SysMain в Windows

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

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

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

[+] Сегодня в программе

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

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

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

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

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

Sysmain - сжатие памяти в 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 - сжатие памяти в Windows 10

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

Sysmain - сжатие памяти в Windows 10

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

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

Sysmain - сжатие памяти в Windows 10

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

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

Компонент Назначение Управление
MemoryCompression Сжатие памяти PowerShell
PageCombining Объединение страниц памяти с одинаковым содержимым
ApplicationPreLaunch Предугадывание запуска приложений
ApplicationLaunchPrefetching Системный префетчинг запуска приложений Реестр
OperationAPI Предоставление другим приложениям доступа к системному префетчингу через API

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

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

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

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

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

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

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

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

Заключение

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

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

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

Об авторе

Вадим — владелец этого блога, и почти все записи здесь вышли из-под его пера. Подробности о блоге и авторе здесь. Поддержать автора вы можете тут.

Служба узла Superfetch грузит диск Windows 10 — Что делать?

Служба узла Superfetch грузит диск Windows 10 — Что делать?

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

Как распознать загруженность диска

Чтобы найти причину снижения производительности компьютера, откройте «Диспетчер задач». Самый простой способ это сделать: кликнуть ПКМ по кнопке «Пуск» и выбрать соответствующий раздел в меню, либо просто нажать сочетание клавиш Ctrl+Shift+Esc. Далее вы увидите вкладку со всеми процессами, работающими на вашем ПК с Windows 10 в данный момент. Нажмите на заголовок столбца «Диск» и вверху окажутся те приложения, которые нагружают его больше всего.

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

Как распознать загруженность дискаКак распознать загруженность диска

Отключаем проблемные службы

Наиболее часто диск нагружают два процесса:

  • Search. Это система поиска, которая проводит индексацию файлов, чтобы ускорить их запуск. В случае сбоя система может просто зациклить индексацию, тем самым давая большую нагрузку на диск.
  • Superfetch. Она отвечает за отправку ваших наиболее используемых программ в оперативную память все так же для ускорения их загрузки. Однако, если объем ОЗУ вашего ПК небольшой, то это может серьезно замедлить его работу.

Если диск грузит один из этих процессов, то отключить их можно следующим образом:

  • В диспетчере выберите вкладку «Службы»
  • Найдите в списке Superfetch, только здесь она будет называться SysMain.
  • Нажмите по ней ПКМ и остановите ее работу.
  • Затем внизу окна нажмите на кнопку «Открыть службы».
  • Сортируйте список по имени для удобства и найдите SysMain.
  • Нажмите по ней ПКМ и откройте свойства.
  • В граве «Тип запуска» выберите «Отключена».
  • Сохраните изменения и можете закрывать службы.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *