Назад | Перейти на главную страницу

Что могло быть причиной утечки дескрипторов SVCHost?

У меня есть проблема, которая в последнее время доставляет мне множество горя. SVCHost, похоже, утекает ресурсы по всему магазину.

Это запуск SVCHost с аргументами "-k netsvcs".

На данный момент используется около 5700 ручек. До того, как я перезагрузил машину, она сидела примерно на 33 000 ручек! Это большее число вызывает у меня большие проблемы, так как мое программное обеспечение, таким образом, не может получить требуемые дескрипторы (программа пытается создать около 2000 дескрипторов).

Я совершенно не понимаю, что происходит не так. Если бы кто-нибудь мог помочь мне остановить это, я был бы очень признателен.

Я работаю на XP с SP3.

Изменить: я отследил эту проблему до системы WMI. Я не знаю, почему и как возникла проблема. В основном я использовал «sc change», чтобы переместить его в отдельный процесс, и внезапно все стало хорошо. Я не совсем понимаю, что происходит ...

Попробуйте запустить Process Explorer из SysInternals, чтобы увидеть, что происходит в процессе svchost, вызывающем проблему.

http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

На всякий случай, если кому-то интересно, я обнаружил, что у меня была небольшая ошибка внутри некоторого WMI с использованием кода. Система не могла освободить объект WMI. Как только код был изменен, проблема исчезла.

Увы, мне никогда не приходило в голову, что утечка в МОЕМ коде вызовет утечку в svchost :(

Не заставляйте меня начинать с утечки памяти невыгружаемого пула, которую я только что обнаружил в «Диспетчере безопасности Dell Control Point» :(

Вы запускаете локальный сервер MySQL, XAMPP, WAMP или что-то в этом роде? Если ваш ответ утвердительный, то это ваша проблема. В MySQL, если у вас есть движок InnoDB, он принесет около 30 000+ дескрипторов.