У нас был скрипт преобразования изображений, работающий в .NET 4.0, IIS 7, ASP.NET, 4 ГБ ОЗУ сервера, который изменяет размеры больших изображений и, следовательно, требует много памяти.
Первый сценарий увеличил использование памятипочти до 100%, практически ничего не оставляя для SQL Server, который также работал (который занимал память до 20 МБ вместо обычных 900 МБ).
Во втором сценарии мы добавили GC.Collect () и (чтобы быть уверенным) один поток потока спит после каждого цикла, и все возвращается в нормальное состояние.
Вопрос: не является ли это недостатком в управлении памятью .NET?Разве система не должна более внимательно посмотреть на то, что происходит с доступной памятью, замедлить работу и очистить систему?