Что может вызывать утечку SVCHost ручками?

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

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

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

Я в полном недоумении относительно того, что идет не так. Если бы кто-нибудь мог помочь мне остановить это, это было бы очень ценно.

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

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

3 ответа

Решение

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

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

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

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

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

Вы используете локальный сервер MySQL, XAMPP, WAMPP или около того? Если ваш ответ да, то это ваша проблема. В MySQL, если у вас есть движок InnoDB, он принесет более 30000 дескрипторов.

Другие вопросы по тегам