У нас странная проблема с процессорами WCF, размещенными на IIS 6.0 в Windows Server 2003 SP2 x64. В некоторых наших средах, по-видимому, при запуске пула приложений svchost.exe, на котором запущен iissvcs, будет раскручивать до 100% процессорного времени и оставаться там неопределенно долго (наблюдается более 3 дней).
Титбиты расследования:
- Похоже, что это не какой-то конкретный пул приложений (мы проводим 5+ WCF
сервисы в каждом своем пуле приложений) и не происходят каждый раз.
- Процесс w3wp.exe запущен, но почти не использует память / процессор - похоже на очень раннюю инициализацию.
- Кажется странным, что на самом деле это svchost.exe, а не w3wp.exe, поэтому я подозреваю, что проблема в конфигурации. Кажется, никогда не трогать наш код.
- У нас есть 3 среды, в которых есть проблема, и 1, в которой ее нет. К сожалению, среды устанавливаются вручную, поэтому они не полностью идентичны.
- Среда, похоже, заражается только одной из наших двух ветвей. Но после первого просмотра проблемы, даже если развернута другая ветвь, проблема остается.
- Процесс, похоже, не выполняет никаких операций ввода-вывода, ни диска, ни сети.
- Антивирусное ПО отключено на одном из серверов.
Я потратил бесчисленное количество часов на поиск проблемы, но не смог найти связанных с этим проблем в SO / google.
Исследование дампов с помощью WinDbg говорит, что трассировка стека активных потоков:
00000000 000afaa8 00000000
77d6e4a6 ntdll! NtReadFile + 0xa
00000000 000afab0 000007ff
7fefe89e kernel32! ReadFile + 0x1e0
00000000 000afb50 000007ff
7fefe7cd advapi32! ScGetPipeInput + 0x3e
00000000 000afbc0 000007ff
7fee4ec9 advapi32! ScDispatcherLoop + 0xa0
00000000 000afca0 00000001
00002b29 advapi32! StartServiceCtrlDispatcherW + 0x119
00000000 000aff10 00000001
000029be svchost! WmainCRTStartup + 0x18a
00000000 000aff50 00000000
77d596ac svchost! WmainCRTStartup + 0xe
00000000 000aff80 00000000
00000000 kernel32! BaseProcessStart + 0x29
Однако выгрузка рабочего svchost.exe дает тот же результат.
Стеки следов всех потоков:
Я хотел включить сюда следы, но так как они довольно длинные, я пока что положил их на пастин.
Любое понимание того, что может быть причиной - или способов дальнейшего расследования - приветствуется.