ASP.NET: Высокое использование ЦП ни при какой загрузке

Int32 4 байта на x86 и x64. Int64 8 байтов любой случай. Тип C# int является просто псевдонимом для System.Int32. То же под обеими средами выполнения. Единственный тип, который действительно изменяется в зависимости от среды выполнения, IntPtr:

    unsafe
    {
        var size = sizeof(IntPtr); // 4 on x86 bit machines. 8 on x64
    }
6
задан Community 23 May 2017 в 12:16
поделиться

2 ответа

В windbg введите:

~ * e! Clrstack

Это сбросит все стеки управляемых потоков и даст вам представление о том, что происходит в этом процессе.

Также попробуйте! Runaway, который покажет вам, сколько времени был запущен каждый поток. Сосредоточьтесь на стопках верхних потоков, которые работают дольше всех.

2
ответ дан 17 December 2019 в 20:33
поделиться

Возможно, это вызвано проблемой с кешем? Например, у вас есть кэшированный набор данных, настроенный на автоматическую перезагрузку из БД по истечении срока его действия?

Однажды у нас была такая ситуация. У нас был большой набор данных, который мы хотели быть всегда доступными. Данные менялись не так часто, поэтому мы установили их в кэш с истечением 1 часа, а затем в нашем global.asax мы обработали удаление (как описано здесь , не обращая внимания на предупреждение описан в ссылке. Мы повторно загрузили набор данных в кеш после того, как прошел час, и это вызвало высокую загрузку процессора и высокую загрузку БД каждый час.

edit - added

Излишне говорить, что мы это быстро увидели и извлекли уроки из нашей ошибки.

0
ответ дан 17 December 2019 в 20:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: