Медленная, долговременная утечка памяти в приложении .NET Framework 4.7 для Windows. Perfview показывает виновника SysteC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Медленная, долговременная утечка памяти в приложении .NET Framework 4.7 для Windows. Perfview показывает виновника Syste

Сообщение Anonymous »

У меня есть приложение Windows Forms .NET Framework 4.7, которое обеспечивает сетевое взаимодействие клиент-сервер и работает в течение длительного периода времени. В течение нескольких недель становится ясно, что существует утечка памяти, поскольку рабочий набор продолжает расти и медленно (в среднем около 5 МБ в день). Принудительная сборка мусора для всех поколений уменьшает текущий размер рабочего набора, но только до минимального размера, который медленно растет изо дня в день, как описано ранее. Я использовал Perfview, чтобы определить виновника в окне «Стеки кучи различий», которым является System.Diagnostics.NtProcessInfoHelper.CachedBuffer. См. прилагаемый скриншот ниже. Этот же класс продолжает расти изо дня в день (например, если я ежедневно делаю дополнительные изменения), так что виноват он, безусловно.
Изображение

Проблема в том, что я не могу понять, где и как создаются экземпляры каких-либо объектов этого класса. Приложение имеет около 5-6 зависимостей библиотек. К ним относятся BouncyCastle, JSON.Net, Websocket4Net, SuperSocket и MySql .NET Connector. Я искал исходные коды последних трех библиотек для текста NtProcessInfoHelper и CachedBuffer и пока не нашел совпадений. Некоторые используют System.Diagnostics; разбросаны по всем источникам — я еще не просмотрел их все.
В Интернете не так уж много информации ни об одном из этих двух занятия. Есть ли у кого-нибудь идеи или предложения о том, где может происходить эта утечка памяти или как я могу отследить ее до конкретной библиотеки или источника приложения? Кто-нибудь знаком с более часто используемым классом, который внутренне вызывает System.Diagnostics.NtProcessInfoHelper.CachedBuffer?

Подробнее здесь: https://stackoverflow.com/questions/793 ... view-shows
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»