UMGUM.COM (лучше) 

Оптимизация ( Ускоряем работу виртуальных машин под VMware Server 2. )

13 сентября 2010  (обновлено 2 ноября 2014)

OS: Debian Lenny и Windows 2003.

Конфигурирование "VMware Server 2" с помощью "web"-интерфейса не сложное занятие, но и результат весьма поверхностен. Для более глубокого и точного воздействия на состояние виртуальной машины требуется редактирование конфигурационного файла таковой. Этот файл, с расширением ".vmx" располагается в директории каждой виртуальной машины.

"VMware Server 1" временами "притормаживал", но не в такой степени как "VMware Server 2". В конфигурации по умолчанию "VMware Server 2" пишет на диск постоянно, даже если операционной системе в машине это не нужно. Именно эта непрерывная работа с дисковой подсистемой и создаёт жуткие "тормоза" с неявной причиной.


По большей части столь активная работа с дисковой подсистемой обусловлена тем, что "VMware Server 2" записывает все изменения состояния оперативной памяти виртуальной машины в специальный файл с расширением ".vmem" в директории виртуальной машины. Размер этого файла равен заданному размеру оперативной памяти виртуальной машины. Насколько я понимаю, необходимо это для того, чтобы в случае какого либо сбоя содержимое файла можно было бы использовать при восстановлении состояния операционной системы виртуальной машины.

Разумеется, в большинстве случаев такой уровень поддержания работоспособности совершенно ни к чему, благо источники бесперебойного питания в наше время совсем недороги. В общем, отключаем функционал записи состоянии оперативной памяти на диск путём добавления в конфигурационный файл соответствующей директивы:

....
mainMem.useNamedFile = "FALSE"
....

Можно подточить параметры подсистемы оперативной памяти. Внесём в конфигурационный файл следующие директивы:

....
MemTrimRate = "0"
MemAllowAutoScaleDown = "FALSE"
sched.mem.pshare.enable = "FALSE"
....

Где (мои толкования, могущие не совпадать с действительными):

"MemTrimRate" - параметр запрещающий запуск процедур очистки неиспользуемых виртуальной машиной объёмов оперативной памяти несущего компьютера (думаю, что вполне можно отдать виртуальной машине право и обязанность разбираться со своей оперативной памятью самостоятельно);
"MemAllowAutoScaleDown" - параметр запрещающий расширение оперативной памяти на диск в случае нехватки таковой (влечёт за собой необходимость более точного расчёта и указания необходимой виртуальной машине памяти, так как если суммарный объём необходимой виртуальным машинам памяти превысит доступный, будут происходить ошибки работы с таковой);
"sched.mem.pshare.enable" - параметр запрещающий использование виртуальными машинами совместного доступа к "страницам" оперативной памяти (ресурсы будут расходоваться менее экономно, но скорость операций в целом должна возрасти за счёт отказа от задач сканирования памяти в поисках дублирующихся участков).


Заметки и комментарии к публикации:


Оставьте свой комментарий ( выразите мнение относительно публикации, поделитесь дополнительными сведениями или укажите на ошибку )