Как говорится в заголовке, у меня проблема с высокой активностью файла подкачки.
Я разрабатываю программу, которая обрабатывает множество изображений, которые она загружает с жесткого диска. Из каждого изображения он генерирует некоторые данные, которые я сохраняю в списке. Для каждых 3600 изображений я сохраняю список на жесткий диск, его размер составляет примерно от 5 до 10 МБ. Он работает так быстро, как только может, поэтому максимально использует один поток ЦП.
Программа работает, она генерирует данные, которые должна, но когда я анализирую их в Visual Studio, я получаю предупреждение: DA0014: Чрезвычайно высокая скорость подкачки активной памяти на диск.
Потребление памяти программой, согласно Диспетчеру задач, составляет около 50 МБ и кажется стабильным. Когда я запускал программу, у меня оставалось около 2 ГБ из 4 ГБ, поэтому я думаю, что у меня не заканчивается оперативная память. https://i.stack.imgur.com/TDAB0.png
В описании правила DA0014 говорится: «Количество выходных страниц в секунду часто намного превышает, например, количество записей страниц в секунду. Поскольку выходные страницы в секунду также включают измененные страницы данных из кэша системных файлов. Однако это не так. всегда легко определить, какой процесс непосредственно отвечает за пейджинг и почему».
Означает ли это, что я получаю это предупреждение просто потому, что читаю много изображений с жесткого диска, или это что-то другое? Не совсем уверен, какую ошибку я ищу.
РЕДАКТИРОВАТЬ: Ссылка на изображение вставлено.
EDIT1: размер изображений составляет около 300 КБ каждый. Я удаляю каждую перед загрузкой следующей.
ОБНОВЛЕНИЕ: Судя по экспериментам, подкачка происходит просто из-за загрузки большого количества файлов. Поскольку я не являюсь экспертом в C# или базовом API GDI+, я не знаю, какой из ответов является наиболее правильным. Я выбрал ответ Андраса Золтанса, поскольку он был хорошо объяснен и потому, что, кажется, он проделал большую работу, чтобы объяснить причину такому новичку, как я :)