Neuroware
@Neuroware
Программист в свободное от работы время

Не работает GC в приложении, что делать?

Проблема не совсем в том, что написано в вопросе, приложение потребляет всего 24 мб оперативки, но "забивает" всю оперативку "памятью в ожидании", которая не очищается даже после завершения работы приложения, помогает только memreduct или перезагрузка. Само по себе это не страшно, эта память по мере надобности затирается другими приложениями, но такое поведение мне не нравится, с этим что то можно сделать?
Приложение читает много данных (over 50Гб) с диска порциями по 500кб, после обработки порции ее переписывает снова и снова. Думаю проблема в GC, потому как после "заполнения" всей оперативки этим мусором команда GC.Collect() вылетает с ошибкой.
  • Вопрос задан
  • 547 просмотров
Решения вопроса 1
@carbon88
.NET developer/ORM developer
Там находятся кешированные данные, которые теоретически могут быть использованы заново. На просторах интернета нашлись упоминания о программе под названием RamMap. Она поможет определить ресурсы, загаживающие память. Кстати GC тут не причем, конечно если у вас код чтения не кривой и все высвобождается корректно. За кешированные в памяти данные ведь отвечает ОС, а не GC.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AxisPod
@AxisPod
Т.е. виноват GC, а к примеру никак не циклические ссылки созданные вами? К примеру на тех же обработчиках событий.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы