Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Event ID 1013 Windows Server, AD и Роли

Event ID 1013 IIS W3SVC-WP: Application pool exceeded time limits

Обновлено: 28.08.2026 · Официальная документация ↗

Симптомы ошибки Event ID 1013 (IIS-W3SVC-WP)

В журнале System фиксируется ошибка веб-сервера Internet Information Services (IIS) с кодом Event ID 1013:

A process serving application pool 'DefaultAppPool' exceeded time limits during shut down. The process id was 4820.

Как проявляется сбой на веб-сервере:

  • Сайт или веб-приложение кратковременно зависает или выдает ошибку HTTP 503 Service Unavailable.
  • Пул приложений зависает в состоянии Stopping в диспетчере служб IIS.
  • Рабочий процесс w3wp.exe принудительно уничтожается операционной системой (Hard Terminated).
  • Пользовательские сессии и незавершенные веб-запросы обрываются без сохранения данных.

Простыми словами: При перезапуске (Recycle) пула приложений служба IIS вежливо просит процесс w3wp.exe завершить текущие запросы и закрыться. Если за отведенное время (по умолчанию 90 секунд) процесс не успевает обработать зависшие запросы к базе данных или внешним API, сервер жестко убивает процесс и регистрирует ошибку Event ID 1013.

Пошаговая настройка и устранение сбоя Event ID 1013

  1. Увеличение лимита времени на остановку пула (Shutdown Time Limit)

    Если веб-приложение выполняет длительные фоновые расчеты, увеличьте лимит времени на корректное завершение работы:

    • Откройте Диспетчер служб IIS (inetmgr).
    • Перейдите в Пулы приложений (Application Pools).
    • Выберите проблемный пул и нажмите Дополнительные параметры (Advanced Settings).
    • В разделе Модель процессов (Process Model) измените параметр Предел времени выключения (секунды) со стандартных 90 на 300 (5 минут).
    # Либо измените лимит через команду PowerShell IISAdministration:
    Set-ItemProperty "IIS:\AppPools\DefaultAppPool" -Name "processModel.shutdownTimeLimit" -Value (New-TimeSpan -Seconds 300)
  2. Поиск зависших веб-запросов через команду appcmd

    Узнайте, какие именно запросы выполняются слишком долго внутри пула:

    C:\Windows\System32\inetsrv\appcmd.exe list requests
  3. Включение режима Orphan Worker Process для создания дампа памяти

    Если процесс намертво зависает из-за дедлока в коде приложения, настройте создание автоматического дампа памяти перед его уничтожением:

    # Включение изоляции зависшего процесса для анализа разработчиками:
    Set-ItemProperty "IIS:\AppPools\DefaultAppPool" -Name "failure.orphanWorkerProcess" -Value $True
  4. Настройка таймаутов подключения к внешним СУБД

    Убедитесь, что в файле web.config вашего приложения установлены адекватные таймауты подключения к базе данных SQL (CommandTimeout), чтобы запросы не висели часами.

💡 Практика специалистов: Причиной Event ID 1013 в веб-сервисах на платформе ASP.NET / 1С-Битрикс чаще всего являются бесконечные внешние HTTP-вызовы через HttpClient без установленного таймаута CancellationToken. Увеличение Shutdown Time Limit до 300 секунд дает временную передышку, но фундаментальное решение — аудит сетевых блокировок в коде.

Частые вопросы (FAQ)

Чем грозит жесткое завершение процесса w3wp.exe?

При принудительном снятии процесса клиенты получают ошибки 502 Bad Gateway или 503 Service Unavailable, а незаписанные данные в сессиях In-Proc теряются.

Почему пул приложений вообще перезапускается сам по себе?

В IIS по умолчанию настроена периодическая переработка пулов (Recycling) каждые 1740 минут (29 часов) или при превышении лимита по оперативной памяти.

Как сделать перезапуск пула полностью бесшовным?

Включите в свойствах пула параметр Disable Overlapped Recycle = False. В этом случае IIS сначала поднимет новый процесс w3wp.exe, переведет на него трафик, и только затем начнет плавный останов старого.

Как перезапустить службу IIS целиком из командной строки?

Выполните команду iisreset /restart в командной строке от имени Администратора.

Полезные материалы
Рекомендуем