Я создал быструю программу, которая должна была пройти по огромному лог-файлу (пару миллионов записей) и найти различные фрагменты внутри. Поскольку объем данных был таким огромным, мне было любопытно посмотреть на вкладку производительности диспетчера задач Windows и посмотреть, сколько ЦП и памяти используется.
После того, как программа успешно получает мои результаты, загрузка ЦП, очевидно, снижается. Но после наблюдения за тем, как объем используемой памяти медленно увеличивается до нескольких гигабайт во время выполнения, он остается прежним.
Я пытался вызвать GC.Collect () в конце своей функции, пытался установить нулевое значение, пытался запустить программу в режиме Release (я слышал, что GC.Collect () может работать не так, как я хочу в режиме отладки).
Использование памяти уменьшается, если я закрываю программу, но я не могу понять, почему я не могу очистить свое приложение в течение жизни приложения. В конце концов, это одноразовое приложение, но мне просто любопытно узнать, чего мне не хватает, т. Е. Что удерживает всю эту память.
Мысли