Производительность и оптимизация работы стационарного компьютера или ноутбука напрямую зависят от технических характеристик аппаратной части, управляемой операционной системой. Нередко пользователи сталкиваются с проблемой, когда в процессе эксплуатации их компьютер начинает замедляться. В ОС виндовс, пожалуй, одна из наиболее распространенных причин зависаний — некорректная работа службы Superfetch. О том, что это за сервис и для чего используется, стоит ознакомиться более детально.
SysMain — что это за служба Windows 10
Service Sys Main, он же Superfetch — это служба, предназначенная для оптимизации и ускорения работы операционной системы. Осуществляется этот процесс благодаря загрузке часто используемых файлов, папок и программ в оперативную память, чтобы они запускались быстрее. Такой процесс получил название кэширование.
c# это просто — Windows Service за 5 минут
Служба SysMain на компьютере с операционной системой Windows 10
Во время работы компьютера служба в фоновом режиме непрерывно обращается к диску для считывания данных, которые загружаются в оперативную память. Такой круговорот действий ускоряет работу не только памяти, но и компьютера в целом. Однако слишком частые обращения грузят диск, в результате чего он начинает работать медленнее.
Обратите внимание! Использование данной службы эффективно на компьютерах, оснащенных жесткими дисками (HDD), и небольшим объемом оперативной памяти. Если же устройство оснащено твердотельными накопителями (SSD), то эта функция бесполезна, поэтому ее лучше выключить.
Почему SysMain Windows 10 грузит диск
Встроенная в операционную систему служба может подгружать не только диск, но и процессор. Обусловлено это, как правило, тем, что на компьютере установлено большое количество различных программ и приложений. Это программное обеспечение способно изменять системные параметры.
Обратите внимание! Еще одна причина, почему служба узла SysMain грузит диск Windows 10 — поражение системы вредоносными программами и компонентами, которые были загружены на ПК с читами, кряками и патчами.
Увеличение нагрузки в диспетчере задач свидетельствует о том, что компьютеру недостаточно ОЗУ. Для решения проблемы пользователь может попробовать увеличить файл подкачки. Для этого нужно произвести чистую загрузку операционной системы, после чего проверить, как будет грузиться и работать ПК. Если этот способ помогает решить проблему, то необходимо удалить или отключить некоторые сторонние приложения, а также почистить жесткий диск.
Как выявить перегруженность диска
Если компьютер долго обрабатывает информацию, и за ним практически невозможно работать, пользователю рекомендуется зайти в диспетчер задач. Для этого необходимо воспользоваться сочетанием горячих клавиш «Win + X» или «Ctrl + Del + Alt».
На экране отобразится полноценное окно, где будет список процессов, потребуется щелкнуть по вкладке «Подробнее». Далее нужно тапнуть по заголовку столбца «Диск». Будет сформирован список по убыванию нагрузки. Первые позиции вызывают самую большую загруженность.
Как вычислить перегруженность диска ПК
Если нагрузка спровоцирована работой одной программы, то ее необходимо закрыть или постараться оптимизировать ее работу, удалить, в конце концов. Сильно подгружать диск может одновременное скачивание нескольких файлов с торрента.
Обратите внимание! Если же виновник торможения — антивирусная программа, то стоит установить другой продукт или на время работы его деактивировать.
Как отключить службу SysMain в Windows 10
Существует несколько способов отключения службы Superfetch на компьютере с операционной системой Windows 10:
- через локальные службы;
- при помощи командной строки;
- Windows PowerShell.
С особенностью реализации каждого способа стоит ознакомиться более детально.
Через локальные службы
Если работа службы сильно нагружает память и процессор, то стоит ее хотя бы временно деактивировать. Через локальные службы раздела администрирования это выглядит следующим образом:
- Пользователю необходимо нажать на значок «Пуск», расположенный в нижней части экрана с левой стороны. Отобразится выпадающее окно, где в строке поиска нужно прописать слово «службы». Из результатов выдачи запустить классическую программу.
- На экране отобразится большой перечень служб, которыми оснащена операционная система. Найти строку «Superfetch» и тапнуть по ней правой кнопкой мышки. Из контекстного меню выбрать параметр «Остановить».
- В следующем шаге пользователю повторно нужно открыть контекстное меню сервиса и выбрать параметр «Свойства».
- В поле «Тип запуска» необходимо из доступных вариантов выбрать «Отключена». Чтобы изменения вступили в силу, необходимо нажать на «Ок».
Деактивация SysMain через службы
Важно! Специалисты настоятельно рекомендуют перезагружать компьютер, чтобы новые параметры корректно вступили в силу.
При помощи командной строки
Включить и отключить встроенную службу также можно и через командную строку, которая обязательно должна быть запущена от имени администратора. Инструкция по деактивации на Windows 10 выглядит следующим образом:
- Кликнуть по значку «Пуск», после чего в строке поиска ввести «командная строка» и нажать «Enter» для начала поиска. В результате выдачи отобразится искомая директория, на нее нужно навести курсор мышки и кликнуть правой кнопкой. В выпадающем списке выбрать «Запуск от имени администратора».
- На экране отобразится полноценное окно администратора. В него потребуется ввести команду «sc config SysMain start=disabled». Для запуска команды обязательно на клавиатуре нажать «Enter».
Использование командной строки для деактивации сервисов
Также обязательно нужно перезагрузить компьютер для корректной работы заданных параметров.
Помощью редактора реестра
Деактивация встроенной службы возможна и через системный реестр. Пошаговый алгоритм действий выглядит следующим образом:
- Воспользовавшись сочетанием горячих клавиш «Win + R», запустить программу «Выполнить» на своем компьютере. В строку окна прописать команду «regedit», после чего на клавиатуре нажать клавишу «Entеr» или «Ок».
- Отобразится системный реестр с большим количеством директорий. Пользователю необходимо пройти путь: HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Session Manager Memory Management PrefetchParameters.
- В следующем шаге потребуется дважды щелкнуть правой кнопкой мыши по параметру «EnableSuperfetch», присвоить ему значение «0». Чтобы изменения вступили в силу, их обязательно нужно сохранить, нажав «Ок».
Как через редактор реестра отключить SysMain
Обратите внимание! В завершении пользователю остается закрыть редактор реестра и перезагрузить компьютер.
Изменение размера файла подкачки
Компьютеру удается быстро выполнять операции и реагировать на манипуляции извне благодаря оперативной памяти. Жесткий диск является хранилищем данных, в которое периодически вынуждено обращаться ОЗУ. Встроенные и сторонние программы, запускаемые на компьютере, загружаются в оперативную память.
Обратите внимание! Как показывает практика, не всегда ее объема достаточно для шустрой работы ПК. Именно поэтому разработчиками компании Microsoft были созданы файлы подкачки, представляющие собой небольшие участки жесткого диска, к которому ОЗУ обращается намного чаще.
Инструкция по изменению размера файла на компьютере с операционной системой Windows 10 выглядит так:
- Каждый пользователь в зависимости от поставленных задач может вручную увеличить или уменьшить файл подкачки. Для этого ему необходимо воспользоваться сочетание горячих клавиш «Win + Pause». Из выпадающего списка доступных инструментов выбрать строку «Дополнительные параметры».
- В следующем шаге потребуется перейти в раздел «Дополнительно», а внизу в блоке «Быстродействие» выбрать строку «Параметры».
- Далее снова необходимо нажать на вкладку «Дополнительно» и в блоке с количеством памяти нажать на «Изменить».
- Напротив строки «Автоматически выбирать объем файла подкачки» убрать галочку и ниже самостоятельно прописать количество памяти в ПК. Обязательно сохранить изменения, нажав на «Ок».
Изменение размера файла подкачки
Обратите внимание! После выполнения всех перечисленных действий останется проверить реакцию службы. Если она снова будет загружать ресурсы ПК, то в параметрах лучше указать «Размер по выбору системы».
Windows 10 оснащена большим количеством встроенных служб и инструментов, которые при правильной работе оптимизируют и ускоряют работу ПК. Сервис Superfetch не исключение. Если следовать инструкции, то получится самостоятельно увеличить скорость работы ПК.
Источник: mirinfo.ru
Служба SysMain в Windows 10 – что это и 4 способа ее отключения, как включить
Отдельные блоки операционной системы работают в нестабильном порядке, перегружая жесткий диск ПК. К ним относят и SysMain, что это за служба в системе Windows 10, как работает и можно ли приостановить ее действие, нужно знать каждому пользователю. Существуют определенные требования, инструкции, положительные и отрицательные стороны процедуры деактивации программы.
За что отвечает служба SysMain в Windows 10
В некоторых случаях на мониторе персонального устройства (стационарного или портативного) появляется уведомление о необходимости отключить некий рабочий блок. Это происходит, если действие приложения чрезмерно загружает жесткий диск. Компьютер при этом начинает тормозить, операции не выполняются, «слетают» игры и даже стандартные программы.
Внимание! Чтобы разгрузить процессор, операционка ПК предлагает отключить разные службы. Необходимо заранее внимательно изучать инструкции и направленность действия софта.
Разработчики утверждают, что SysMain (другое название – SuperFetch) необходима для улучшения производительности персонального компьютера, ускорения обработки запросов и команд. Служба активна постоянно – фоновый режим установлен по умолчанию. Более четкого или детального описания функционала компания Microsoft не дает.
Безопасно ли отключать эту службу?
Да – отключение узла SysMain не несет опасности для ПК, работающего в обычном режиме. Поэтому, если компьютер выполняет операции с достаточной скоростью, не виснет, деактивировать внутренние программы не рекомендуют. Деактивация может вызвать некоторые сбои – побочные эффекты. За действием ПК необходимо понаблюдать некоторое время. Если комп взаимодействует с приложениями медленнее, SysMain лучше снова включить.
Как ее отключить
Существует несколько основных способов отключить SysMain – изменение настроек локальных служб ПК, с применением Командной строки, функционала PowerShell и системного реестра.
«Локальные службы»
- открыть раздел «Пуск» на Рабочем столе ПК, в поле поиска ввести запрос «Службы», кликнуть на подходящий выпавший вариант (обычно первый сверху). Внимание! Дополнительный способ активации нужного ресурса – использование комбинации горячих клавиш «Win + R». Затем в пустое поле вводят запрос «services.msc» и нажимают «ОК»;
- откроется дополнительное рабочее окно, где отобразится список доступных технических служб;
- в конце перечня располагается наименование «SysMain», необходимо вызвать контекстное меню софта (кликнуть правой клавишей мышки);
- выбрать строку «Свойства», перейти на вкладку «Общие»;
- на блоке «Тип запуска» перевести значение в положение «Выключено».
Вместо указанного значения можно активировать пункт «Вручную». При таком варианте работоспособностью утилиты пользователь сможет управлять по мере необходимости.
Через Командную строку
Command Line – дополнительная встроенная утилита, в которой используются специальные команды для внесения изменений. Этапы действий пользователя:
- активировать раздел «Пуск» (через кнопку на Рабочем столе);
- набрать значение «cmd», выпавший элемент открывают с помощью контекстного меню и строку «Запустить от имени администратора»;
- для отключения перегружающей процессор ПК программы вводят следующую комбинацию: sc stop «SysMain» 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» и подтверждают операцию.
Для закрепления изменений персональный компьютер рекомендуют перезагрузить в принудительном порядке (выбирают именно перезагрузку, не стандартную процедуру выключения ПК).
Некоторые встроенные в операционную систему программы вызывают проблемы с работой дополнительно установленных приложений (например, с играми, управляющими утилитами). В таком случае на мониторе ПК появится соответствующее уведомление с указанием имени софта, который вызвал сбой. Отдельные блоки можно отключить самостоятельно, используя приведенные инструкции. Важно следить за состоянием ПК после деактивации.
Источник: it-tehnik.ru
Службы Windows
Одним из важнейших компонентов ОС Windows являются службы. Фактически это отдельные приложения, которые не имеют графического интерфейса и которые выполняют различные задачи в фоновом режиме. Службы могут быть запущены при старте операционной системы, так и в любой другой момент работы пользователя. Распространенным примером служб являются различные веб-серверы, которые в фоновом режиме прослушивают определенный порт на наличие подключений, и если подключения имеются, то взаимодействуют с ними. Это могут быть также различные вспомогательные сервисы обновлений для других установленных программ, которые обращаются к серверу, чтобы узнать, есть ли новая версия приложения. В общем то мы можем открыть панель служб и сами увидеть все установленные и запущенные службы:
Рассмотрим, как создавать свои службы в C#. В качестве реализуемой задачи выберем наблюдение за изменениями в определенной папке в файловой системе. Теперь создадим для ее выполнения службу.
Вначале создадим новый проект, который будет иметь тип Windows Service . Назовем проект FileWatcherService:
После этого Visual Studio генерирует проект, который имеет все необходимое. Хотя в принципе нам необязательно выбирать именно этот тип проекта, можно было бы создать проект библиотеки классов, и затем в нем определить все необходимые классы.
Итак, новый проект выглядит следующим образом:
Здесь также есть файл Program.cs и есть собственно узел службы Service1.cs .
Служба представляет обычное приложение, но она не запускаетс сама по себе. Все вызовы и обращения к ней проходят через менеджер управления службами (Service Control Manager или SCM). Когда служба запускается автоматически при старте системы или вручную, то SCM обращается к методу Main в классе Program:
static class Program < static void Main() < ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] < new Service1() >; ServiceBase.Run(ServicesToRun); > >
Метод Main по умолчанию определен таким образом, чтобы запускать сразу несколько служб, которые определены в массиве ServicesToRun. Однако по умолчанию проект содержит только одну службу Service1. Сам запуск производится с помощью метода Run: ServiceBase.Run(ServicesToRun) .
Сама запускаемая служба представлена узлом Service1.cs. Однако на самом деле это не простой файл кода. Если мы откроем этот узел, то увидим в нем файл дизайнера службы Service1.Designer.cs и класс Service1.
Класс Service1 собственно представляет службу. По умолчанию он имеет следующий код:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Linq; using System.ServiceProcess; using System.Text; using System.Threading.Tasks; namespace FileWatcherService < public partial class Service1 : ServiceBase < public Service1() < InitializeComponent(); >protected override void OnStart(string[] args) < >protected override void OnStop() < >> >
Класс службы должен наследоваться от базового класса ServiceBase . Этот класс определяет ряд методов, важнейшие из которых метод OnStart() , который запускает действия, выпоняемые службой, и метод OnStop() , останавливающий службу.
После того, как SCM вызовет метод Main и зарегистрирует службу, происходит непосредственный ее вызов через запуск метода OnStart.
Когда в консоли служб или через командную строку мы посылаем команду на остановку службы, то SCM обращается к методу OnStop для ее остановки.
Кроме этих двух методов в классе службы можно переопределить еще несколько методов базового класса ServiceBase:
- OnPause : вызывается при приостановке службы
- OnContinue : вызывается при возобновлении работы службы после ее приостановки
- OnShutdown : вызывается при завершении работы Windows
- OnPowerEvent : вызывается при изменении режима электропитания
- OnCustomCommand : вызывается при получении службой пользовательской команды от Менеджера Управления Службами (Service Control Manager / SCM)
В конструкторе класса Service1 вызывается метод InitializeComponent() , который определен в файле дизайнера Service1.Designer.cs:
namespace FileWatcherService < partial class Service1 < private System.ComponentModel.IContainer components = null; protected override void Dispose(bool disposing) < if (disposing (components != null)) < components.Dispose(); >base.Dispose(disposing); > private void InitializeComponent() < components = new System.ComponentModel.Container(); this.ServiceName = «Service1»; >> >
Единственное, что надо в нем отметить, это установка названия службы (свойство ServiceName):
this.ServiceName = «Service1»;
Это то название, которое будет отображаться в консоли служб после установки данной службы. Мы можем его изменить, а можем и оставить как есть.
Теперь изменим код службы следующим образом:
using System; using System.ServiceProcess; using System.IO; using System.Threading; namespace FileWatcherService < public partial class Service1 : ServiceBase < Logger logger; public Service1() < InitializeComponent(); this.CanStop = true; this.CanPauseAndContinue = true; this.AutoLog = true; >protected override void OnStart(string[] args) < logger = new Logger(); Thread loggerThread = new Thread(new ThreadStart(logger.Start)); loggerThread.Start(); >protected override void OnStop() < logger.Stop(); Thread.Sleep(1000); >> class Logger < FileSystemWatcher watcher; object obj = new object(); bool enabled = true; public Logger() < watcher = new FileSystemWatcher(«D:\Temp»); watcher.Deleted += Watcher_Deleted; watcher.Created += Watcher_Created; watcher.Changed += Watcher_Changed; watcher.Renamed += Watcher_Renamed; >public void Start() < watcher.EnableRaisingEvents = true; while(enabled) < Thread.Sleep(1000); >> public void Stop() < watcher.EnableRaisingEvents = false; enabled = false; >// переименование файлов private void Watcher_Renamed(object sender, RenamedEventArgs e) < string fileEvent = «переименован в » + e.FullPath; string filePath = e.OldFullPath; RecordEntry(fileEvent, filePath); >// изменение файлов private void Watcher_Changed(object sender, FileSystemEventArgs e) < string fileEvent = «изменен»; string filePath = e.FullPath; RecordEntry(fileEvent, filePath); >// создание файлов private void Watcher_Created(object sender, FileSystemEventArgs e) < string fileEvent = «создан»; string filePath = e.FullPath; RecordEntry(fileEvent, filePath); >// удаление файлов private void Watcher_Deleted(object sender, FileSystemEventArgs e) < string fileEvent = «удален»; string filePath = e.FullPath; RecordEntry(fileEvent, filePath); >private void RecordEntry(string fileEvent, string filePath) < lock (obj) < using (StreamWriter writer = new StreamWriter(«D:\templog.txt», true)) < writer.WriteLine(String.Format(«файл был «, DateTime.Now.ToString(«dd/MM/yyyy hh:mm:ss»), filePath, fileEvent)); writer.Flush(); > > > > >
Ключевым классом, который инкапсулирует всю функциональность, является класс Logger. С помощью объекта FileSystemWatcher он будет вести мониторинг изменений в папке D://Temp. В методе Start() устанавливается, что мы будем отслеживать изменения через объект FileSystemWatcher. И вся работа будет идти, пока булевая переменная enabled равна true . А метод Stop() позволит завершить работу класса.
События FileSystemWatcher позволяют отслеживать все изменения в наблюдаемой папке. При этом будет вестись запись изменений в файл templog.txt. Чтобы не было гонки ресурсов за файл templog.txt, в который вносятся записи об изменениях, процедура записи блокируется заглушкой lock(obj) .
В итоге после создания, изменения, переименования и удаления файл лога будет содержать что-то наподобие:
30.07.2015 12:15:40 файл D:TempНовый текстовый документ.txt был создан 30.07.2015 12:15:46 файл D:TempНовый текстовый документ.txt был переименован в D:Temphello.txt 30.07.2015 12:15:55 файл D:Temphello.txt был изменен 30.07.2015 12:15:55 файл D:Temphello.txt был изменен 30.07.2015 12:16:01 файл D:Temphello.txt был удален
В самом классе службы Service1 в конструкторе устанавливается ряд опций:
this.CanStop = true; // службу можно остановить this.CanPauseAndContinue = true; // службу можно приостановить и затем продолжить this.AutoLog = true; // служба может вести запись в лог
В методе OnStart() для запуска объекта Logger вызывется новый поток:
protected override void OnStart(string[] args)
Новый поток нужен, так как текущий поток обрабатывает только команды SCM и должен возвращаться из метода OnStart как можно быстрее.
Когда от менеджера SCM поступает команда на остановку службы, срабатывает метод OnStop, который вызывает метод logger.Stop() . Дополнительная задержка позволит потоку логгера остановиться:
protected override void OnStop()
Однако самого класса службы еще недостаточно. Нам необходимо еще создать устанощик службы.
Источник: metanit.com
Как избавиться от MSN.COM при запуске браузера
Недавно на одном из компьютеров поселилась «зараза». Вне зависимости от настройки стартовой страницы в браузере, настроенным браузером по-умолчанию, при первом запуске открывается страница новостей https://www.msn.com/ru-ru/?LinkID=219472#128577;
Мелочь, но неприятно, тем более, что нигде явных настроек для посещения msn.com при старте нет.
Как удалить стартовую страницу ?LinkID=219472clcid=0x409
Затем в ветке HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNlaSvcParametersInternet нужно изменить значение параметра EnableActiveProbing на ноль:
После этого все должно прийти в норму. Я проверял на Windows 10 LTSB 2016 и браузере FireFox 57 x64 — результат положительный.
Благодарности
При написании статьи были использованы следующие источники:
Источник: moonback.ru