Почему использование памяти приложением .NET падает, когда оно свернуто?

Например, запустите Paint.NET. Затем посмотрите на использование памяти с помощью диспетчера задач: на моем компьютере он использует 36 МБ.

Затем сверните Paint.NET: теперь он занимает чуть больше 1Мб.

Это происходит с каждым приложением .NET. Что происходит, когда приложение .NET свернуто? Происходит ли ГК?


person Larry    schedule 06.10.2008    source источник


Ответы (1)


Диспетчер задач показывает вам объем памяти, принадлежащий приложению, которое в данный момент выгружается в реальную память. Когда вы сворачиваете приложение в Windows, ядро ​​автоматически обрезает рабочий набор процесса, чтобы он занимал меньше памяти. Это поведение не характерно для приложений .NET.

Если вместо этого вы посмотрите на значение «Private Bytes» процесса, это даст вам лучшее представление об объеме памяти, используемом процессом. Это значение не изменится при усечении рабочего набора процесса.

Microsoft предлагает дополнительную информацию в этой статье базы знаний: http://support.microsoft.com/kb/293215

person Greg Hewgill    schedule 06.10.2008