Detecting Extraordinary Application Memory Use by Analyzing Memory Screenshots

dc.contributor.authorGuk, Natalia A.en
dc.contributor.authorMitikov, Nikolay Y.en
dc.contributor.authorSelivyorstova Tatjana V.en
dc.date.accessioned2024-12-05T11:34:50Z
dc.date.available2024-12-05T11:34:50Z
dc.date.issued2024
dc.descriptionN. Guk: ORCID 0000-0001-7937-1039; N. Mitikov: ORCID 0009-0002-1297-5676; T. Selivyorstova: ORCID 0000-0002-2470-6986en
dc.description.abstractENG: This study investigates excessive memory consumption in .NET applications, with a focus on identifying inefficiencies in memory allocations that lead to unnecessary resource usage. Real-world processing system memory snapshots were gathered using ProcDump, and managed heaps were thoroughly inspected with WinDBG to uncover memory usage patterns and the distribution of space among different types. ClrMD was employed to further analyze runtime data and offer optimization recommendations targeted at reducing the overall memory footprint. To validate these optimizations, Benchmark.NET performance tests were conducted using 'application' data to measure memory usage before and after the suggested changes. The analysis uncovered that user-defined types were responsible for consuming significantly more memory than required. This overconsumption was due to overallocation, largely driven by an overestimation of the necessary data range for the objects, despite domain-specific data consistently fitting within smaller numeric ranges. The mismatch between object design and actual data requirements led to memory inefficiencies. After conducting targeted optimizations based on the real characteristics of the stored data and adhering to memory alignment principles, the study succeeded in significantly reducing the application's memory consumption. These optimizations resulted in memory savings potentially measured in gigabytes, demonstrating the effectiveness of aligning object design with data representation. The research underscores the value of memory snapshot analysis as a tool for identifying and mitigating excessive memory usage in .NET applications. It advocates for a more deliberate object design strategy, one that takes into account the actual range and size of the data being handled. Such an approach can result in significant performance improvements and more efficient memory management. This study offers practical insights for developers aiming to enhance the memory efficiency of .NET applications, contributing to more sustainable and scalable software systems.en
dc.description.abstractUKR: Це дослідження вивчає надмірне споживання пам’яті у .NET додатках, зокрема, спрямоване на виявлення неефективних виділень пам’яті, що призводять до непотрібного використання ресурсів. Були зібрані знімки пам’яті реальних обчислювальних систем за допомогою ProcDump, а керовані купи були ретельно проаналізовані за допомогою WinDBG для виявлення шаблонів використання пам’яті та розподілу простору серед різних типів. ClrMD був використаний для подальшого аналізу даних під час виконання і надання рекомендацій щодо оптимізації, спрямованих на зменшення загального обсягу використання пам'яті. Для перевірки цих оптимізацій було проведено тестування продуктивності за допомогою Benchmark.NET, використовуючи дані «додатка», щоб виміряти використання пам’яті до і після запропонованих змін. Аналіз виявив, що користувацькі типи даних споживали значно більше пам'яті, ніж було необхідно. Це надмірне споживання було обумовлене перевиділенням пам’яті, спричиненим переоцінкою необхідного діапазону даних для цих об'єктів, хоча дані в домені зазвичай не перевищували менших числових діапазонів. Невідповідність між проєктуванням об'єктів і фактичними вимогами до даних призвела до неефективного використання пам'яті. Після застосування цілеспрямованих оптимізацій, заснованих на реальних характеристиках збережених даних та принципах вирівнювання пам'яті, дослідження успішно знизило споживання пам’яті додатком. Ці оптимізації призвели до економії пам’яті, що може вимірюватися гігабайтами, що демонструє ефективність узгодження структури об’єктів з представленими даними. Дослідження підкреслює важливість аналізу знімків пам’яті для виявлення та усунення надмірного використання пам’яті у .NET додатках. Воно пропонує розробникам прагматичний підхід до проєктування об’єктів, що враховує фактичний діапазон і розмір даних, які обробляються, що може призвести до покращення продуктивності та більш ефективного управління пам’яттю.uk_UA
dc.description.sponsorshipOles Honchar Dnipro National Universityen
dc.identifier.citationGuk N. A., Mitikov N. Y., Selivyorstova T. V. Detecting Extraordinary Application Memory Use by Analyzing Memory Screenshots. Science and Technology Today. Series "Technology. 2024. No. 10 (38). P. 39–49. DOI: https://doi.org/10.52058/2786-6025-2024-10(38)-39-49.en
dc.identifier.doihttps://doi.org/10.52058/2786-6025-2024-10(38)-39-49en
dc.identifier.issn2786-6025 (Online)
dc.identifier.urihttp://perspectives.pp.ua/index.php/nts/article/view/15692en
dc.identifier.urihttps://crust.ust.edu.ua/handle/123456789/19279en
dc.language.isoen
dc.publisherPublic Organization "Ukrainian Assembly of Doctors of Sciences in Public Administration", Kyiven
dc.subjectmemory snapshot analysisen
dc.subject.NET Frameworken
dc.subjectProcDump utilityen
dc.subjectmanaged heap inspectionen
dc.subjectobject structure optimizationen
dc.subjectmemory footprinten
dc.subjectreductionen
dc.subjectаналіз знімків пам’ятіuk_UA
dc.subjectутиліта ProcDumpuk_UA
dc.subjectінспекція керованої купиuk_UA
dc.subjectоптимізація структури об'єктівuk_UA
dc.subjectзменшення використання пам'ятіuk_UA
dc.subjectКІТСuk_UA
dc.subject.classificationTECHNOLOGY::Information technologyen
dc.titleDetecting Extraordinary Application Memory Use by Analyzing Memory Screenshotsen
dc.title.alternativeВиявлення надмірного використання пам’яті додатками шляхом аналізу знімків пам’ятіuk_UA
dc.typeArticleen
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Guk.pdf
Size:
376.77 KB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: