Categories: Windows

Неожиданная остановка служб

На компьютере под управлением Windows 7 периодически прерывалась работа пяти служб одновременно:

  • Windows Audio (AudioSrv).
  • DHCP-клиент (dhcp).
  • Журнал событий Windows (eventlog).
  • Модуль поддержки NetBIOS через TCP/IP (lmhosts).
  • Центр обеспечения безопасности (wscsvc).

Как обычно, первый шаг – это поиск аналогичных случаев в интернете. Было найдено три варианта решения проблемы:

  • Отключить IPv6 ( в настройках сетевого подключения).
  • Изменить тип службы DHCP с shared на own (sc.exe config dhcp type= own).
  • Отключить службу Центр обеспечения безопасности.

Всё это не помогло. Пытаясь понять причину падений, я обнаружил, что эти службы работают под одним процессом scvhost.exe -LocalServiceNetworkRestricted. Все эти службы имеют тип shared, именно поэтому одним из методов решения проблемы было изменить тип на own, так как shared службы используют для работы общие ресурсы и падение одной приводит к падению остальных. Значит, необходимо определить, какая из служб экстренно прекращает работу. Необходимо было изолировать службу в отдельный процесс, ниже приведен алгоритм выделения службы в отдельный процесс.

К счастью, первой службой, которую я решил изолировать в отдельный процесс, была Windows Audio. Для этого:

  1. Открыть раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost.
  2. Открыть параметр LocalServiceNetworkRestricted удалить значение AudioSrv.
  3. В этом же разделе создать новый параметр типа REG_MULTI_SZ с любым именем (я указал AudioSrv), добавить туда значение AudioSrv, удаленное из LocalServiceNetworkRestricted.
  4. Открыть раздел реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Audiosrv и изменить параметр ImagePath на %SystemRoot%\System32\svchost.exe -k AudioSrv.
  5. Перезагрузить службу.

После этого стало ясно, что падает служба Windows Audio и тянет за собой все остальные. Был обновлён драйвер на звуковую карту, после чего падения прекратились. Звуковая карта вызывавшая проблему – VIA 1708S.

Saqwel

Share
Published by
Saqwel

Recent Posts

Azure App Configuration and access to Key Vault references

We decided to use an Azure App Configuration to store configs of backend. App Configuration…

2023-08-24

Azure cli az acr login hangs

I have encountered an issue with az acr login --name <acr_name> command. It hanged and…

2023-08-23

Error: Unable to read Docker image into resource: unable to find or pull image nginx:latest

I have tried to learn terraform from scratch and found pretty simple tutorial for beginners.…

2022-09-09

Скрыть поле модели от Swagger (Hide field of model from Swagger)

При внедрении Swagger в проекте .Net Core Web API потребовалось скрыть одно поле из примера,…

2020-04-24

Прогноз цен на акции

Около года назад я решил попробовать заработать на фондовой бирже, покупая и продавая акции. Изучая…

2019-07-20

Installation failed with error code: (0x00000490), “Element not found. “

Во время установки .NET Framework столкнулся с ошибкой Installation failed with error code: (0x00000490), "Element…

2018-12-20