Как Excel 2010 использует оперативную память?

использование 32 бит Excel 2010 у меня есть только 2G оперативной памяти доступны, даже если у меня есть 16G доступны на моем компьютере.

мой вопрос:

Если я открываю второй экземпляр Excel ( не вторую книгу, но вновь открыть всю программу ) их применения 2Г ОЗУ, или поделиться 2Г оперативки ?

6
задан PeterH
22.02.2023 0:33 Количество просмотров материала 2456
Распечатать страницу

1 ответ

2 ГБ, которые процесс может использовать в 32-разрядной Windows, не является "ОЗУ". Это виртуальное адресное пространство, и это просто верхний предел; большинство экземпляров большинства программ будут использовать только часть этого.

однако каждый экземпляр Excel, который находится в своем собственном процессе (как показано в столбце "процессы" Диспетчера задач на Win7, "подробности" на Win10) имеет возможность использовать до 2 ГБ виртуального адресного пространства.

Если открыть несколько таблиц в тот же Excel.процесс exe это не отдельные экземпляры, и вся эта работа выполняется в том же адресном пространстве процесса (2 ГБ виртуальной максимум).

отношение виртуального адресного пространства к оперативной памяти очень "мягкое". Создание процесса-который, как и все процессы, работающие на 32-битной Windows,мая использовать до 2 ГБ V. A. S. ( Но большинство не будет) - по своей сути не использовать какой-либо определенный объем оперативной памяти, кроме небольшого количества (под мегабайт)) для nonpageable структур данных ядра, которые управляют процессом.

ОЗУ выделяется процессам по требованию. Как правило, только от одной десятой до четверти виртуального адресного пространства процесса (которое, опять же, не будет 2 ГБ; это будет все, что необходимо для кода и данных процессов) будет занимать ОЗУ. Как многое зависит от того, сколько его В..С. он активно доступа, и о том, сколько оперативной памяти доступно. Чем больше оперативной памяти доступно, тем больше оперативной памяти занимает каждый процесс разрешено использование-то есть, больше виртуального адресного пространства каждого процесса будет "резидентом" в оперативной памяти в любой момент. Наблюдаемое использование оперативной памяти процесса и самой Windows очень сильно зависит от обстоятельств: сколько оперативной памяти у машины и насколько заняты другие процессы.

Как и любой другой исполняемый файл в Windows, Если вы запускаете более одного экземпляра процесса, части кода, которые были введены в оперативную память для каждого экземпляра будут доступны для другого (ов). Таким образом, в то время как каждый будет жить в своем собственном виртуальном адресном пространстве, они не будут занимать несколько наборов оперативной памяти для своего кода; код разделяется в оперативной памяти. С другой стороны, данные, специфичные для каждого экземпляра занимает как виртуальное адресное пространство и оперативную память отдельно для каждого процесса.

ограничение "2 ГБ" на виртуальное адресное пространство, описанное выше, может составлять 4 ГБ, если это 32-разрядное приложение, которое "поддерживает большие адреса" и работает в 64-разрядной версии Windows.

2
отвечен Jamie Hanrahan 2023-02-23 08:21

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх