Все, что вызывает перекомпиляцию (изменение web.config, app_offline.htm, изменение файла .aspx и т. Д.), Приводит к тому, что использование ЦП на ядре максимально увеличивается. Если вы повторите этот процесс, он израсходует максимальную загрузку ЦП на следующем ядре, пока общее использование ЦП не достигнет 100%.
Я подключил windbg к расширениям sos, и похоже, что для каждого ядра с максимальной скоростью 1 поток зависает в System.AppDomain.Unload (System.AppDomain), а другой - в Oracle.DataAccess.Client.OracleTuningAgent.DoScan () .
Первая тема
- Oracle.DataAccess.Client.OracleTuningAgent.DoScan ()
- Oracle.DataAccess.Client.OracleTuningAgent.TuningFunction ()
- System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
- System.Threading.ThreadHelper.ThreadStart ()
Вторая нить
- System.AppDomain.Unload (System.AppDomain)
- System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
- System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal (System.Threading. _ThreadPoolWaitCallback)
- System.Threading._ThreadPoolWaitCallback.PerformWaitCallback (System.Object)
Похоже, что AppDomain.Unload ожидает в OracleTuningAgent.DoScan завершения, но этот поток заблокирован или находится в спящем режиме.
Oracle подтвердила проблему (ошибка № 9648040), и это является главным приоритетом. Между тем, возможные обходные пути:
- Откат к клиенту 11gR1 / ранее
- Добавить 'Self Tuning = false' в строку подключения. Вы, конечно, потеряете преимущества автоматической настройки.
-Скотт