Использование памяти
Паямять в Net:
1) Стек | Stack | Область памяти, выделяемая для каждого потока. Используется для хранения стека вызова функций потока, параметров при вызове функций и локальных переменных (структур и ссылока на классы). Имеет константный размер, при переполнении приводит к падению программы. Выделение памяти и отчистка происходит быстро (по сравнению с другими), не задействует сборщик мусора. |
2) Куча | Heap | Основная область для хранения экземпляров объектов. Состоит из 3 компонентов: |
Ссылки:
Сборка мусора
https://learn.microsoft.com/ru-ru/dotnet/standard/garbage-collection/
Обработка больших объемов данных в памяти на C#
https://habr.com/ru/post/114495/
Память: LOH и Chunked Lists
https://habr.com/ru/post/83929/
.NET Max Memory Use 2GB even for x64 Assemblies
https://stackoverflow.com/questions/982051/net-max-memory-use-2gb-even-for-x64-assemblies
CLRium Оптимизация программ под Garbage Collector
https://habr.com/ru/company/clrium/blog/453082/
Оптимизация сборки мусора в высоконагруженном .NET сервисе
https://habr.com/ru/post/452298/
Monitoring Garbage Collector in C#
https://stackoverflow.com/questions/9669963/monitoring-garbage-collector-in-c-sharp