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

Убейте w3wp.exe, если он работает на 100% ЦП в течение определенного периода времени

Я запускаю веб-сайт ASP.NET в Windows 2008 и IIS7.

Время от времени мой w3wp.exe начинает загружаться на 100% ЦП, и сайт зависает. Я не нашел для этого причины, но на данный момент это не имеет значения. Все, что я хочу, - это настроить пул приложений так, чтобы он убивал процесс w3wp.exe, когда он работает на 100% ЦП в течение короткого периода времени. Как я могу это сделать?

Это мои настройки ЦП пула приложений:

Кроме того, если я убью процесс, будет ли он работать в обычном режиме при следующем запросе на веб-сайт, или мне придется запускать процесс вручную после его завершения?

Строгий ответ на ваш вопрос - установить предел 1000 * CPUPercent, который должен быть жестким верхним пределом, и установить действие KillW3WP. Например, чтобы ограничить его 90%, вы должны установить лимит 90000

Более подробную информацию об ограничениях ЦП в пуле приложений можно найти здесь: http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/add/cpu

Однако я должен сказать, что вы пытаетесь вылечить симптом, а не проблему. Отладка кода, чтобы выяснить, почему это происходит, исправит это навсегда, но убить процесс - это просто наклеить на него временный пластырь.