Кафедра інформаційних технологій і систем (ДМетІ)
Permanent URI for this community
UK: Кафедра інформаційних технологій і систем (Дніпровський металургійний інститут, ДМетІ)
EN: Department of Information Technologies and Systems (DMetI)
Browse
Browsing Кафедра інформаційних технологій і систем (ДМетІ) by Subject ".NET Framework"
Now showing 1 - 1 of 1
Results Per Page
Sort Options
Item Detecting Extraordinary Application Memory Use by Analyzing Memory Screenshots(Public Organization "Ukrainian Assembly of Doctors of Sciences in Public Administration", Kyiv, 2024) Guk, Natalia A.; Mitikov, Nikolay Y.; Selivyorstova Tatjana V.ENG: 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.