Как вы, несомненно, знаете, существует огромная разница между фактической памятью, используемой и выделенной. Выделенная память приложения не означает, что она фактически используется в любом месте; все это на самом деле означает, что ОС «маркирует» зону виртуальной памяти (которая именно такая - виртуальная) готова для использования приложением.
Память не обязательно используется или голодает другие процессы - это просто может, если приложение начнет ее заполнять.
Это выделенное количество, также, вероятно, будет масштабироваться по общей экосистеме памяти машины. Если есть много места, когда приложение запустится, тогда он, скорее всего, возьмет большее выделение, чем если будет меньше.
Этот принцип является тем же самым, что и тот, который говорит, что хорошей практикой является создание List<T>
, скажем, с разумной начальной емкостью, которая будет означать, что приличное количество элементов может быть добавлено до изменения размера. ОС использует тот же подход с использованием памяти.
сколько памяти у вашей машины? –
Это не имеет значения. У моих клиентов есть для пользователей максимальный максимум 200 МБ. Кроме того, я просто хочу знать, почему .NET делает это или почему так много :) – Martijn
[Это сообщение очень полезно] (http://www.itwriting.com/dotnetmem.php) – Steve