Sharepoint W3WP.EXE Процесс, потребляющий 100% ресурсов процессора - корректирующее действие? - PullRequest
2 голосов
/ 10 февраля 2010

У нас есть веб-сервер Windows Server 2003, и на этом сервере работает около 5-6 сайтов Sharepoint верхнего уровня, с различным пулом приложений для каждого.

Существует один процесс W3WP, который поддерживает привязку 100% большую часть дня (это произошло вчера и сегодня), и он подключен (обнаруживается путем выполнения «Cscript iisapp.vbs» в командной строке и сопоставления ProcessID) с конкретным сайтом Sharepoint. ... который почти непригоден для использования.

Какие корректирующие действия я могу предпринять? Это следующие идеи, которые у меня были

1) Остановка и перезапуск веб-сайта в IIS - по какой-то причине это не остановило нарушающий процесс W3WP ??? Есть идеи почему бы и нет?

2) Остановка и перезапуск связанного пула приложений.

3) Переработка соответствующего пула приложений.

Что-нибудь из этого звучит как правильная идея? Если нет, то какие хорошие вещи попробовать? Я не могу выполнить iisreset, так как не хочу менять сервис на другие, гораздо более активно используемые сайты Sharepoint.

Если мне действительно НУЖНО провести какую-то диагностическую работу, пожалуйста, укажите мне правильное направление. Я не администратор Sharepoint (его нет в городе, поэтому я отвечаю, хотя я просто разработчик), но я сделаю все возможное.

Если вам нужна какая-либо информация, просто дайте мне знать, и я посмотрю ее (хотя медленно, так как этот процесс привязывает всю машину).

Ответы [ 2 ]

3 голосов
/ 10 февраля 2010

Это не IISReset, что вам нужно. У вас есть кусок кода, который работает с вашей памятью. Скорее всего, это не проблема процессора, а проблема подкачки. Я сталкивался с этим несколько раз со структурами данных в памяти, которые становятся слишком большими, чтобы эффективно вводить / выводить их, и в конечном итоге попытка постраничного хранения данных просто начинает поглощать все. Шаги, которые я бы порекомендовал:

1) Получите инструменты IIS Debug Diagnostics . И научитесь их использовать .

2) Если возможно, удалите состояние сеанса из InProc на сервер состояний или сервер sql (поскольку для этого требуется сериализация всех классов, которые входят в сеанс, это может быть невозможно). Это поможет смягчить некоторые проблемы с памятью, связанные с процессом.

3) Перейдите в пул приложений и настройте количество рабочих процессов в сторону увеличения. Снимите быструю защиту от сбоев (это позволит сайту продолжать обслуживать страницы, даже если происходят быстрые катастрофические ошибки).

Диагностика отладки IIS запишет ОГРОМНОЕ количество данных, но вы можете указать определенные оповещения «catch», которые будут обнаруживать зависания, чрезмерное использование процессора и т. Д. Он будет захватывать гигабайты данных, поэтому будьте готовы к долгому ожиданию при попытке просмотреть логи.

1 голос
/ 11 февраля 2010

Оказывается, кто-то пытался установить некоторые функции, которые потеряли свою актуальность.

Поэтому он написал скрипт stsadm для удаления этих функций

Процессор все еще подключен.

Я перезапустил пул приложений IIS для этого процесса IIS, но не исправил.

Итак, я перезапустил IIS для этого сайта, и это решило проблему с процессором.

...