|
18. Система виртуальных машин фирмы VMWare: использование
оперативной памяти |
Распределение оперативной памяти при использовании VMWare
В этом
приложении мы рассмотрим как правильно задать для VMware параметры, определяющие
распределение оперативной памяти между базовым компьютером и виртуальными
машинами. Система VMware позволяет пользователям задавать как объем оперативной
памяти, выделяемой каждому виртуальному компьютеру, так и общее количество ОП,
зарезервированное для использования виртуальными машинами. Правильная настройка
этих параметров очень важна, поскольку может существенно повлиять на
производительность как виртуального компьютера, так и системы в целом.
Объем ОП, выделяемый виртуальной
машине
Первый конфигурационный параметр, который могут изменять
пользователи системы VMWare, - это объем физической оперативной памяти,
выделяемый виртуальной машине. Значение этого параметра задается в Редакторе
конфигурации (Settings > Configuration Editor > Memory). Минимальное
значение этого параметра определяется требованиями ОС. Мастер конфигурации
вообще не запрашивает у пользователя значение этого параметра, выбирая его
исходя из того, какую ОС выбрал пользователь. Оптимальное значение размера
памяти, отводимой виртуальному компьютеру, зависит от нескольких факторов.
- Какие приложения будут запускаться на виртуальной машине.
- Будут ли другие виртуальные машины, запущенные наряду с данной ВМ,
конкурировать с ней за разделение оперативной памяти.
- Какие приложения будут запускаться на базовом компьютере одновременно с
данной виртуальной машиной.
Linux плохо ведет себя при нехватке
оперативной памяти. По этой причине не стоит запускать одну или несколько
виртуальных машин, если им требуется больше ОП, чем остается на базовом
компьютере после запуска ОС и других приложений. Точнее, надо придерживаться
следующего правила:
Общее количество оперативной памяти, выделяемой для всех
одновременно запущенных виртуальных машин, не может превышать количества
физической ОП минус обьем памяти, которая необходима для работы ОС базового
компьютера и запущенных в ней приложений.
Объем памяти, зарезервированной для системы
VMWare
Второй конфигурационный параметр, значение которого может
устанавливаться пользователем, - это общее количество памяти, которое
резервируется для всех запущенных виртуальных машин. Этот параметр может быть
задан перемещением движка
Total Reserved Memory в меню
Settings.
В общем случае память, используемая каждой виртуальной машиной, берется из
того же самого пула памяти, который используется ОС на базовом компьютере и
всеми запущенными на нем приложениями. Однако, для повышения общей
производительности, система VMware устанавливает задаваемый пользователем лимит
памяти для всех виртуальных машин. Когда VMware использует эту память, она
недоступна для других приложений, запущенных на базовом компьютере. Но когда
VMware не использует эту память, она становится доступной для других приложений.
Резервируя память, VMware позволяет виртуальным машинам работать более
эффективно.
Память, используемая системой VMware, включает память, отдаваемую
операционной системе виртуального компьютера, а также некоторое количество
избыточной памяти, необходимой для функционирования самого виртуального
компьютера. Объем этой избыточной памяти зависит от нескольких факторов и
варьируется в пределах от нескольких до более чем 10 мегабайт (но обычно
находится в пределах 10 мегабайт). Кроме того, для нормального функционирования
ОС виртуальной машины, надо зарезервировать количество памяти, достаточное для
того, чтобы ОС не испытывала затруднений из-за недостатка памяти.
Количество реально резервируемой системой VMWare оперативной памяти
динамически меняется в процессе работы системы. VMware использует
зарезервированную память только тогда, когда определяет, что это необходимо для
достижения приемлемой производительности виртуального компьютера. Даже если
запущены несколько ВМ, реально может использоваться только часть
зарезервированной памяти, а неиспользуемая зарезервированная память отдается ОС
базового компьютера и запущенным в ней приложениям.
Рекомендуется резервировать для системы VMWare 50 процентов физической памяти
базового компьютера. Отходить от этого правила могут только опытные
пользователи, поскольку изменение этого параметра может существенно повлиять на
производительность как базового, так и виртуального компьютера. Если выбрать
слишком большое значение этого параметра, это может привести к сильному
замедлению работы базового компьютера или даже к его зависанию. Слишком малое
значение этого параметра приводит к падению производительности виртуального
компьютера и ограничивает число ВМ, которые могу быть одновременно запущены.
Впрочем, система VMware ограничивает количество ВМ, которые могут быть
одновременно запущены, исходя из количества зарезервированной для нее ОП. Если
Вы пытаетесь включить питание виртуальной машины, а количества зарезервированной
ОП для ее работы недостаточно, включения ВМ не произойдет.
Использование памяти в ОС Linux, запускаемой на
виртуальной машине
If you will be running a second Linux installation from an existing
partition as a guest operating system, and your real machine's
/etc/lilo.conf has a memory register statement such as Append=
"mem....", you may want to adjust the append memory parameter or create a
new entry in LILO for running Linux in a virtual machine. Many newer Linux
distributions recognize all physical memory in the real machine, whereas many
older Linux distributions see only the first 64MB of memory by default. Machines
with more than 64MB of memory that run the older distributions may have the
Append= "mem=...." parameter added under the Image=....
section of lilo.conf to tell Linux to look for more memory than seen by
default. If the amount of memory configured in lilo.conf exceeds the
amount of memory assigned to the virtual machine, then when the virtual machine
tries to boot the second Linux installation, the guest operating system will
most likely panic. You can simply create another entry in lilo.conf for
running Linux in a virtual machine by specifying a different amount of memory
than what should normally be recognized when Linux boots directly on the real
machine.