Со времени выхода одной из самых популярных сегодня операционных систем Windows 7 в ней была реализована уникальная технология под названием SuperFetch. Что это за служба, знают далеко не все. Однако если вспомнить технологию Prefetcher в Windows Vista, все встанет на свои места. Попробуем разобраться, что же это такое.
SuperFetch: что это за служба?
Прежде чем разбираться с самой службой, начнем с азов. Если кто не знает, при запуске любой программы ее исполняемые или конфигурационные файлы и компоненты сначала считываются с жесткого диска, а затем загружаются в оперативную память. После завершения приложения при повторном открытии программы выполняется тот же процесс.
Для ускорения доступа к программам и непосредственно оптимизации работы системных процессов и была разработана технология SuperFetch. Что это за служба? Если говорить просто, это некая интеллектуальная система, отслеживающая наиболее частое использование юзером определенных программ, которая позволяет кэшировать файлы приложений (помещать их в оперативную память) для ускорения доступа к ним. То есть запуск программы производится намного быстрее, ведь данные уже находятся в «оперативке», а не считываются с винчестера, что, естественно, занимает больше времени.
Видео: How to configure SSD drive
В дереве процессов более поздних систем, нежели Vista, в стандартном «Диспетчере задач» она представлена в виде процесса SysMain (SuperFetch – в описании службы).
В чем разница между Prefetch и SuperFetch?
Изначальная технология впервые очень робко была применена в Windows XP, но серьезно продолжена в версии Vista, только тогда она называлась Prefetcher (предварительная выборка). Она отвечала за оптимизацию загрузки системных компонентов и модулей запускаемых приложений перед непосредственным стартом.
Начиная с «семерки», служба была несколько переработана, получила название SuperFetch (супервыборка) и стала работать несколько по-другому (хотя модуль Prefetcher тоже есть). Предварительная выборка имеет ряд недостатков. Дело в том, что количество загружаемых в оперативную память программ ограничено, а когда какое-то приложение перестает активно использоваться, его данные снова выгружаются на винчестер, причем в файл подкачки.
Видео: Отключение службы BITS в Windows 8 посредством Powershell
В ОС Windows SuperFetch отслеживает пользовательскую активность и, кроме создания специальных карт, еще сохраняет конфигурацию часто используемых программ. Если по каким-либо причинам одно приложение было выгружено из памяти, служба проводит анализ выгрузки, а после завершения процесса, который вызвал выгрузку, снова инициирует загрузку модулей предыдущей программы в «оперативку».
В целом же служба повышает скорость старта приложений и даже обеспечивает более стабильное увеличение производительности системы. Правда, тут стоит обратить внимание, что иногда могут возникать проблемы с загрузкой «оперативки», если ее объем не превышает 1 Гб, но об этом чуть позже.
Управление параметрами службы SuperFetch
Итак, теперь посмотрим, как производится управление параметрами SuperFetch. Что это за служба, думается, уже немного понятно. Перейдем непосредственно к настройке.
Как считают многие специалисты, лучше всего для этих целей использовать системный реестр или групповые политики. Впрочем, второй вариант, по сути, дублирует первый, так что остановимся на реестре. Вызывается редактор командой regedit в меню «Выполнить» (Win + R).
Здесь, используя ветку HKLM, в системном разделе нужно найти директорию PrefetchParameters (эти параметры можно найти и с использованием поискового запроса). Здесь нас интересуют два ключа: EnablePrefetcher и EnableSuperFetch. Если второго ключа нет, его нужно создать (параметр DWORD) и присвоить ему соответствующее имя. Для каждого ключа можно ввести четыре значения:
- 0 – полное отключение;
- 1 – оптимизация только запускаемых программ;
- 2 – оптимизация только запуска системных компонентов;
- 3 – сбалансированное ускорение и приложений, и системы.
В качестве рекомендуемого параметра установлена автоматическая оптимизация и системы, и программ («3»).
Еще одним методом управления параметрами службы (а заодно и ее процессом SysMain SuperFetch) является использование команды services.msc, которая открывает окно настроек исполняемых служб и процессов. Здесь нужно найти SuperFetch и открыть свойства службы двойным кликом, после чего установить необходимый параметр из выпадающего списка типа запуска.
SuperFetch: отключить или нет?
Вопрос использования самого сервиса для многих является достаточно спорным. В принципе, при малом объеме оперативной памяти службу лучше не задействовать. Так, например, если объем «оперативки» не превышает 1 Гб, загрузка памяти может достигать 600 Мб, не говоря уже о виртуальной памяти и файле подкачки. Однако практически все современные компьютерные системы даже с минимальной конфигурацией изначально оснащаются достаточно большими объемами «оперативки» порядка 3-4 Гб и выше. Так что отключать службу не рекомендуется. Даже при наличии 2 Гб SuperFetch можно использовать, в общем-то, без проблем.
Ошибка запуска службы SuperFetch
Но иногда возникают и проблемы, связанные со службой SuperFetch (отключить или нет, это уже дело каждого). Сами сбои на системном уровне особо не проявляются и критического влияния на работу «операционки» не оказывают.
Однако в модуле SuperFetch ошибка состоит в том, что эта служба попросту не активируется, даже при условии ввода нужных параметров в том же реестре. Как правило, выдается сообщение об аварийном завершении (SuperFetch terminated) или о запрете доступа. Дело тут только в том, что не хватает оперативной памяти или же наблюдается конфликт между планками «оперативки».
Естественно, оптимальным вариантом станет полное отключение службы, но если памяти хватает, лучше изначально провести ее тест, устранить возможные проблемы, а только после этого принимать решение об отключении или дальнейшем использовании.
Заключение
Исходя из общего описания SuperFetch, что это за служба, уже, наверное, понятно. Но вот вопрос отключения или использования этого процесса должен решаться самим юзером. Общие рекомендации таковы, что при малом объеме оперативной памяти ее лучше отключить, а при нормальном количестве – наоборот, оставить активированной. По крайней мере, вреда это не принесет уж точно.