Как виртуальные машины могут использовать так мало RAM на физической хост-машине?

Я выполняю VirtualBox на машине Windows XP с 2 ГБ RAM. Я создал виртуальную машину Ubuntu и выделил ее основная память 750 МБ.

Только для помещения его в тест я выполнил 20 вещей сразу на виртуальной машине. Согласно "вершине" в человечности, 750 megs памяти использовались, а также значительная область подкачки.

Однако назад в Windows Task Manager, VitrualBox использовал только 45,000K памяти. Поскольку я попросил, чтобы виртуальная машина сделала все больше, использование ЦП процесса VirtualBox повысилось (в Windows), но использование памяти осталось таким же.

Как может виртуальная машина, которая использует 750 МБ памяти, только используют 45 МБ памяти на реальной машине?

Я предполагаю, что ответ - то, что виртуальная машина не использует реальную память, но моделируемую память (т.е. область подкачки), но это, верные чувства, мгновенные как она, работают в RAM.

ОБНОВЛЕНИЕ: я играл вокруг с perfmon, как предложено. Даже подведение итогов, все, о чем я могу думать, это все еще, кажется, поднимает меньше чем 300 megs..., таким образом, это - все еще тайна.

Process               VirtualBox     VirtualBox#1     Total
PoolNonpagedBytes     5,840          42,552           48,392
PoolPagedBytes        119,796        166,892          286,688
PrivateBytes          8,884,224      52,719,616       61,603,840
VirtualBytes          75,939,840     161,202,176      237,142,016
Sum                   84,949,700     214,131,236      299,080,936
24
задан 04.08.2009, 15:17

4 ответа

Столбцы в Диспетчере задач могут дать вводящим в заблуждение числам - для точного использования памяти для каждого процесса, Вы могли использовать perfmon (Монитор производительности в Панели управления) и посмотреть на "частные байты" числа.

Для показа этого войдите в perfmon, нажмите для добавления счетчика (я - вид Ctrl+I человека). "Объект управления" был бы "Процессом" с "Частными байтами", находящимися в списке счетчиков - очевидно, необходимо будет выбрать соответствующий процесс из правого списка.

7
ответ дан 07.12.2019, 09:45

Это могла быть виртуальная память, файлы с отображенной памятью или что-то подобное.

Вы попытались отобразить другие столбцы в Диспетчере задач?

0
ответ дан 07.12.2019, 09:45

С некоторыми решениями для виртуализации в соответствии с Linux способ, которым они выделяют память, заставляет ее появиться к ядру хоста как специальный файл с отображенной памятью (во многом как /proc/kcore специальный файл), таким образом, это считается в "кэшируемом" количестве в выводе от free, не "используемое" количество.

Я предполагаю, что что-то подобное происходит с Вашей средой Windows: 45 МБ будут использоваться процессами управления VirtualBox, и эти 750, выделенные самому VM, будут считаться в другом месте.

5
ответ дан 07.12.2019, 09:45

Не верьте Диспетчеру задач. Это не видит все.

Эта проблема чаще всего замечается с SQL Server, например, С Sql, я никогда не находил никого, кто сказал мне способ получить точную информацию от Диспетчера задач, который приведет меня полагать, что число не скрыто в одном из других столбцов.

0
ответ дан 07.12.2019, 09:45

Теги

Похожие вопросы