Event ID 5060 IIS WAS: внезапное завершение процесса w3wp
Симптомы падения процесса (Event ID 5060)
В системном журнале регистрируется ошибка: Event ID 5060: A worker process serving application pool '[Имя_пула]' terminated unexpectedly. The process id was '[PID]'.
| Симптом | Описание |
|---|---|
| Сброс соединений пользователей | Клиенты получают ошибку 502 Bad Gateway или пустой ответ |
| Сброс состояния сессий | Пользователи выбрасываются из личных кабинетов |
| Ошибки с кодом 1000 в Application Log | Журнал приложений фиксирует аварийное завершение модуля w3wp.exe |
Пошаговое устранение сбоя по Event ID 5060
- Найдите сбойную библиотеку (Faulting DLL) в журнале Application:
# Поиск информации о сбойном модуле:
Get-WinEvent -FilterHashtable @{
LogName = 'Application'
ProviderName = 'Application Error'
} -MaxEvents 5 | ForEach-Object {
[PSCustomObject]@{
Time = $_.TimeCreated
Module = ($_.Message -split "`n" | Select-String "Имя сбойного модуля|Faulting module name")
Code = ($_.Message -split "`n" | Select-String "Код исключения|Exception code")
}
} | Format-Table -AutoSize- Настройте сбор минидампов аварийных падений:
# Создание ключа автоматического сбора дампов WER для w3wp.exe:
$path = "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\w3wp.exe"
New-Item -Path $path -Force
Set-ItemProperty -Path $path -Name "DumpFolder" -Value "C:\CrashDumps"
Set-ItemProperty -Path $path -Name "DumpType" -Value 2 -Type DWord- Проверьте наличие повреждений в системных библиотеках .NET:
# Проверка целостности системных файлов Windows:
sfc /scannowСовет: Если сбойным модулем является php-cgi.exe или сторонний модуль PHP, обновите версию PHP и отключите нестабильные расширения в php.ini (например, xdebug в продакшене).
Частые вопросы (FAQ)
Почему процесс w3wp.exe завершается без записи в лог приложения?
При возникновении фатальных сбоев режима ядра (Kernel Access Violation) или переполнении стека процесс завершается операционной системой немедленно до вызова пользовательских логгеров.
Как проанализировать созданный дамп w3wp.dmp?
Используйте утилиту DebugDiag (Debug Diagnostics Tool) от Microsoft с правилом Crash Analysis для генерации понятного HTML-отчета о сбое.
В чем разница между кодами исключений 0xc0000005 и 0xc00000fd?
0xc0000005 — нарушение доступа к памяти (Access Violation), 0xc00000fd — переполнение стека вызовов (Stack Overflow).
Поможет ли перезагрузка IIS устранить ошибку 5060?
Перезагрузка восстановит работу сервиса до следующего вызова клиентом функции с ошибкой в коде.