- Как задержать загрузку определенных служб в Windows 10/8/7 2021
- РС DONI ft Ð¢Ð¸Ð¼Ð°Ñ Ð¸ Ð Ð¾Ñ Ð¾Ð´Ð° Ð Ñ ÐµÐ¼Ñ ÐµÑ Ð° клипа, 2014
- Автоматический (отсроченный запуск), означающий
- Задержка загрузки определенных служб Windows
- Время ожидания запуска службы Windows
- Ошибка 1053: Служба не ответила на запрос своевременно
- 1. Изменение Тайм-аута
- 2. Сканирование и восстановление системных файлов
- 3. Сброс сетевого кэша
- Дополнительные советы
- Настройка лимитов (таймаутов) RDP-сессий на терминальном сервере Windows
- Настройка на терминальном сервере
- Windows 2012 и выше
- Windows 2008 R2 и ниже
- Настройка через GPO
- Использование фильтров
Как задержать загрузку определенных служб в Windows 10/8/7 2021
РС DONI ft Ð¢Ð¸Ð¼Ð°Ñ Ð¸ Ð Ð¾Ñ Ð¾Ð´Ð° Ð Ñ ÐµÐ¼Ñ ÐµÑ Ð° клипа, 2014
Используя Windows Service Manager, вы можете задержать запуск служб Windows, чтобы вы могли улучшить время загрузки Windows. Опция Automatic (Delayed Start) для системных служб была представлена в Windows Vista, а в Windows 10/8/7 она была расширена для охвата всех служб. Этот параметр появляется также в Windows 8.1 и более поздних версиях.
Автоматический (отсроченный запуск), означающий
Службы Windows — это приложения, которые обычно запускаются при загрузке компьютера и выполняются тихо в фоновом режиме до тех пор, пока он не будет закрыт.
Вкл. на некоторых старых компьютерах может потребоваться отсрочить загрузку определенной службы Windows для правильной загрузки компьютера. В других случаях вы можете быть уверены, что определенная служба запущена и доступна для устранения неполадок, прежде чем запускается другая служба. Это может помочь вариант Automatic (Delayed Start).
Как это работает? Microsoft объясняет это следующим образом:
Диспетчер управления службами запускает службы, настроенные для отложенного автоматического запуска после завершения всех потоков автоматического запуска. Менеджер Service Control также устанавливает приоритет начального потока для этих отложенных сервисов THREAD_PRIORITY_LOWEST. Это приводит к тому, что все операции ввода-вывода диска, выполняемые потоком, имеют очень низкий приоритет. После завершения инициализации службы приоритет возвращается диспетчеру управления сервисом. Комбинация отложенного запуска, низкого приоритета процессора и памяти, а также приоритет фонового диска значительно уменьшают помехи при входе пользователя в систему. Многие службы Windows, в том числе Фоновая интеллектуальная служба передачи (BITS), Клиент Windows Update и Windows Media Center, используют этот новый тип запуска, чтобы повысить производительность входа в систему после загрузки системы.
Задержка загрузки определенных служб Windows
Чтобы отложить загрузку служб, запустите services.msc , чтобы открыть диспетчер служб. Выберите «Сервис» и дважды щелкните по нему, чтобы открыть окно «Свойства».
В разделе «Тип запуска» вы увидите четыре параметра в раскрывающемся меню: «Автоматически», «Автоматически» («Задержанный старт»), «Вручную» и «Отключено». Опция Automatic (Delayed Start) позволяет Windows загружать такие Службы только после того, как загрузились другие Службы, настроенные на автоматический. Таким образом, такие задержанные службы должны ждать до начала всех автоматических служб
Время задержки по умолчанию — 120 секунд. Но это можно изменить, изменив значение AutoStartDelay в следующем разделе реестра:
HKLM SYSTEM CurrentControlSet Control
После обработки Автоматических служб с задержкой Windows остановит рабочий поток для запуска служб с задержкой.
Не испытывайте соблазнов без разбора запуска Сервисов, если вы не знаете, что делаете, чтобы не скомпрометировать производительность и безопасность вашего компьютера — и никогда не меняйте тип запуска Сервиса вашего программного обеспечения безопасности от Автоматический до Автоматический (Задержанный запуск).
KB193888 рассказывает вам, как вы можете сделать это программно и изменив значение в следующем ключе реестра:
HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services
Статья в KB работает для всех версий Windows, начиная с Windows 2000 и заканчивая Windows 8.1.
Время ожидания запуска службы Windows
Есть ли способ установить другое значение для тайм-аута запуска службы для каждой службы?
Я могу изменить его, используя ключ реестра ServicePipeTimeout, но он на машину (http://support.microsoft.com/kb/824344).
В настоящий момент единственное, о чем я думал, это сделать все трудоемкие действия запуска в другом потоке.
Я согласен с Ромуло в завершении, чтобы начать ваше обслуживание как можно скорее. Однако, если вам нужно время, и вы используете .NET Framework 2.0 или новее, вы можете использовать метод ServiceBase.RequestAdditionalTime().
Хорошая практика — как можно быстрее завершить свое обслуживание. Таким образом, во время состояния начала делайте только то, что вам абсолютно необходимо, чтобы признать, что оно началось успешно; и сделайте остальные позже. Если запуск по-прежнему длительный, используйте SetServiceStatus, чтобы сообщить диспетчеру управления службами, что вы еще не закончили, из вашей службы.
Просто делайте время в другом потоке
Мне также пришлось иметь дело с услугой, которая может занять несколько секунд/минут, чтобы иметь хороший старт. Когда служба запускается, она пытается подключиться к SQL Server. Однако, когда весь сервер был перезапущен, моя служба запускалась до SQL Server. (Я знаю о зависимостях службы, но это не относится к моей ситуации по определенной причине. ). Я пытался сделать цикл, пытающийся 10 раз подключиться к SQL Server, но Windows убивала мою службу до второй попытки из-за таймаута.
Мое решение. Я добавил таймер в «onStart()» моей службы. Затем метод «onTick()» службы пытался 10 раз подключиться к SQL Server (с ожиданием 30 в нем). Больше нет времени ожидания при запуске.
Итак, в основном,
- Моя услуга начинается через 5 секунд.
Таймер запускается через 10 секунд после того, как служба
начало.
Таймер пробует 10 раз [ожидание 30 секунд каждый раз] до
подключитесь к SQL Server.
Если это произойдет, таймер отключит себя, если нет (после 10 попыток), я остановлю службу.
Обратите внимание на более элегантный способ решения проблемы, но, возможно, какая-то часть моего решения может помочь кому-либо в той же ситуации, что и я,
Ошибка 1053: Служба не ответила на запрос своевременно
Когда вы устанавливаете программу или игру, которая устанавливает свои службы или процессы в систему Windows, то можете наткнутся на сообщение «Ошибка 1053: Служба не ответила на запрос своевременно». Эта ошибка является причиной истечения времени ожидания запуска службы. Одним словом, когда устанавливается служба в систему при установке игры или программы, то запуск её не успел обработаться и далее уходит в режим ожидания, который в свою очередь превысился временем. Причин этой ошибки может быть много: поврежденные файлы в системе, настройка там-аута, сетевые проблемы. Давайте посмотрим, как можно исправить эту проблему.
1. Изменение Тайм-аута
Первым делом мы должны попробовать изменить тайм-аут, чтобы служба обрабатывалась дольше. Система отводит определенное время на запуск служб, и если служба не запустилась, то система выдаст предупреждение «Ошибка 1053: Служба не ответила на запрос своевременно».
Нажмите Win + R и введите regedit , чтобы открыть редактор реестра. В редакторе реестра перейдите по следующему пути:
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
- Справа на пустом поле нажмите правой кнопкой мыши и «Создать» > «Параметр Dword 32 бита«.
- Назовите его ServicesPipeTimeout и присвойте ему значение 150000.
Перезагрузите компьютер и проверьте устранена ли проблема. Вы можете изменить значение тайм-аута на больший, изменив 150000.
2. Сканирование и восстановление системных файлов
Поврежденные системные файлы могут быть причиной данной проблемы. Могут просто не работать нужные модули. Давайте проверим. Запустите командную строку от имени администратора и введите две команды по очереди, дожидаясь окончание процесса после каждой:
- sfc /scannow
- DISM /Online /Cleanup-Image /RestoreHealth
Перезагрузите систему после завершения всех процессов.
3. Сброс сетевого кэша
Запускаемая служба может быть связанна с подключением к интернету. Если у вас интернет настроен вручную, то ниже способ собьет ваши все настройки сети. Вы можете их записать или заскриншотить. Запустите командную строку от имени администратора и введите следующие две команды:
- netsh winsock reset
- ipconfig /renew
Дополнительные советы
Еще пару советов, чтобы исправить «Ошибку 1053: Служба не ответила на запрос своевременно»:
- Переустановите саму игру или приложение, удалив предварительно старую установку.
- Обновите Wiondows 10 до последней версии через центр обновлений.
Настройка лимитов (таймаутов) RDP-сессий на терминальном сервере Windows
По умолчанию, на терминальном сервере RDP-сессия длится до тех пор, пока пользователь ее явно не прервет. В некоторых случаях, это может привести к зависанию профиля или некоторых запущенных приложений.
Рекомендуется задавать лимит на сеансы, по достижении которого принудительно завершать терминальные сессии и выполнять выход пользователя из системы.
Настройка на терминальном сервере
Сессии можно настроить для конкретного сервера в настройках сервера терминалов. Процесс немного отличается в зависимости от версии операционной системы Windows.
Windows 2012 и выше
В диспетчере серверов переходим в службы удаленных рабочих столов:
Переходим в коллекцию, для которой хотим поменять настройки сеанса:
В свойствах коллекции кликаем по Задачи — Изменить свойства:
Переходим в раздел Сеанс и выставляем ограничения:
* где Окончание разъединенного сеанса — время, через которое для пользователей с завершенными сеансами произойдет выход из системы; Ограничение бездействующего сеанса — время, через которое сеанс перейдет в разъединенный, если пользователь в нем не работает (не проявляет никакой активности).
Windows 2008 R2 и ниже
Нажимаем Пуск — Администрирование — Службы удаленных рабочих столов — Конфигурация узла сеансов удаленных рабочих столов:
В разделе «Подключения» дважды кликаем по RDP-Tcp:
На вкладке «Сеансы» ставим галочку Переопределить параметры пользователя и выставляем необходимые лимиты:
* где Завершение отключенного сеанса — время, по достижении которого отключенный сеанс будет завершен, а для пользователя будет выполнен выход; Ограничение бездействующего сеанса — ограничение на сеанс, в котором пользователь не работает.
Настройка через GPO
Если терминальных серверов много или необходимо централизованно задать политику ограничения сессий, можно воспользоваться групповыми политиками Active Directory.
Заходим в консоль управления политиками — создаем политику с любым понятным названием — переходим в настройку созданной политики.
В зависимости от необходимости применять политику к пользователям и/или компьютерам, используем следующие ветки для настройки:
- Конфигурация компьютера\Политики\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Ограничение сеансов по времени
(Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Session Time Limits) - Конфигурация пользователя\Политики\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Ограничение сеансов по времени
(User Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Session Time Limits)
* если для пользователей и компьютеров используются отдельные организационные юниты, необходимо создавать политику в соответствующей ветке.
Для настройки выставляем следующие значения:
Параметр | Описание | Значения |
---|---|---|
Завершать сеанс при достижении ограничения по времени (End session when time limits are reached) | Задает глобальную настройку, которая разрешает или запрещает лимиты, в принципе. | Включено — включает режим ограничения сессий (для нашей цели выбираем это значение). Отключено — выключает и запрещает лимиты. Не задано — выключает для политик, но разрешает локальные настройки на сервере. |
Задать ограничение по времени для активных, но бездействующих сеансов служб удаленных рабочих столов (Set time limit for active but idle Terminal Services sessions) | Если пользователь завершил работу с сервером, но не завершил сеанс, можно установить ограничение сессии этим параметром. Таким образом, пользователи, которые не завершают сеанс будут автоматически выкинуты из сессии. | Включено — активируем лимит для бездействующих сеансов (выставляем ее). И в выпадающем списке указываем время бездействия, например 3 часа. Отключено — отключает лимит на бездействующие сессии. Не задано — настройка задается локально на сервере. |
Задать ограничение по времени для отключенных сеансов (Set time limit for disconnected sessions) | Если пользователь отключил сеанс, но не вышел из системы, можно автоматически его разлогинить с помощью этой опции. | Включено — активируем лимит для завершенных сеансов (выставляем ее). И в выпадающем списке указываем время, например 3 часа. Отключено — отключает лимит на завершенные сессии. Не задано — настройка задается локально на сервере. |
Задать ограничение по времени для активных сеансов служб удаленных рабочих столов (Set time limit for active Remote Desktop Services sessions) | Независимо от того, работает пользователь в системе или нет, сервер завершит его сеанс, отправив уведомление за 2 минуты до отключения. | Включено — активируем лимит для активных сеансов. В выпадающем списке необходимо указать время. Данную опцию лучше не применять. С практической точки зрения опция создаст много неудобств. Отключено — отключает лимит на завершенные активные сессии. Не задано — настройка задается локально на сервере. |
Для применения настроек ждем или выполняем команду на сервере:
Проверяем, применились ли политики:
Использование фильтров
Если нам необходимо применить ограничения через политики только для определенных серверов/пользователей, применяем фильтры безопасности.
Для этого создаем группу в Active Directory и добавляем туда нужные серверы (или пользователей).
Проверяем, что нужные нам серверы или пользователи стали членами созданной группы.
а) команда для проверки компьютера:
gpresult /r /scope:computer
б) для пользователя:
gpresult /r /scope:user
Если в созданной группе компьютера/пользователя нет, то:
а) для пользователя выходим из сеанса сервера и подключаемся по новой.
б) на сервере выполняем команды:
klist -lh 0 -li 0x3e7 purge
Если в нашей среде Active Directory несколько сайтов, то наши настройки могут появиться на нужном контроллере через несколько минут (как правило, до 15). Если нет возможности ждать, можно форсировать процесс репликации с помощью инструмента «Active Directory — сайты и службы».
Далее при создании групповой политики удаляем группу «Прошедние проверку», которая присутствует по умолчанию:
И добавляем созданную ранее, например:
После настраиваем политику по инструкции выше.
Чтобы проверить, что настройка применилась только у нужным нам объектам, на сервере выполняем команду: