Профилировка памяти в dotMemory! Режем потребление памяти, ищем утечки, анализируем memory traffic.

#DevJungles #dotnet #ityoutubers Telegram канал Dev Jungles -
Поддержать канал можно: Спонсорством на YouTube Переводом на карту или пополнением банки монобанка: Dev Jungles YouTube Channel Fund
Номер карты банки: 5375 4112 0230 1466 Или криптой: BTC - 18C3jsFYwviN5FvzpAt4uMWRfUeVKvdWxy ETH - 0x2903f63ba9009732272e91a299053b9d7b623216 USDT on ERC20 - 0x2903f63ba9009732272e91a299053b9d7b623216 USDT on TRC20 - TSmS5RzQKbWdxZkoM2oRo9HK8FYBaq744T LTC - LN3CkrnvZLZTXDUhqTy1gUKMVpLjEPA4G2 DOGE - DPwon439jf3axVSBwyuXso6z7CivuJF655 AAVE - 0x2903f63ba9009732272e91a299053b9d7b623216 Waves - 3P8D57Zw7CrqW2o7dHpvZR2UzAzQRFA2kZd Вы видели сколько памяти теперь жрет Google Chrome?! Я видел и не хочу, чтобы мои приложения делали так же. Что бы они так не делали я провел десятки часов выжигая себе глаза в поисках утечек памяти, анализируя memory traffic. CPU-Profiling разобрали здесь:    • Профилировка .NET приложений. Разбор тесто...   Пришло время RAM-Profiling. Кто-то большой из мира dotNet как-то сказал, что самый простой способ найти утечку памяти это купить профилировщик баксов за 500. При чем любой. Они сейчас все хороши. Ну кроме встроенного в Visual Studio. Я использую dotMemory и про него и расскажу. Какой-нибудь умник скажет, что ему дешевле докинуть 16ГБ или даже 160ГБ на сервак, чем искать утечку. Может даже будет прав, только вот пользователи его приложухи уйдут к конкурентам, пока он эту память будет выделять, а каждая сборка мусора будет превращаться в долгие Stop The World от GC. Видео про бенчмаркинг:    • Оптимизация C# кода! BenchmarkDotNet, низк...   Таймкоды: 0:00 Вступление. Что такое профилировка памяти, кому и когда понадобиться. 8:46 Первый код для профилирования. 11:10 Интерфейс стартового экрана JetBrains dotMemory. 13:43 Старт профилировки. Функционал dotMemory. Методы работы. 28:20 Вкладка Compare для двух снепшотов. Функционал. Методы работы. 31:21 Вкладка View memory allocations. 34:00 Немного общей информации о реальном профилировании. 36:07 Следующий пример. Linux и CLI профилировка. 38:00 Сетап Ubuntu. 40:15 Установка .NET на Ubuntu. 42:13 Детальней про код в примере. Билд приложения. 44:40 Запуск dotMemory в консоли. 49:30 Функционал dotMemory CLI. Запуск профилировки. 55:15 Разбор полученного Workspace файла. 59:40 Блок /trigger-spec/. Немного про утечку памяти на сервере. 1:07:01 Memory traffic. Про код в новом примере. 1:08:37 Еще раз про веб приложение из предыдущего примера. 1:10:22 Продолжение разбора нового примера с игрой. 1:12:54 Профилирование игры. 1:17:52 Пример с утечкой памяти. 1:20:15 Профилирование файлового менеджера. Методы поиска. Более детальный разбор функционала dotMemory. 1:31:30 Еще один пример с утечкой памяти (неудачный). 1:34:38 Профилирование. 1:38:14 В чем была идея этого примера. Возможная утечка памяти в приложениях. 1:41:00 Benchmark .NET анализ небольших кусков кода. 1:42:43 Прощание.

Смотрите также