Windows 7 убивает производительность VMWare за счет кэширования диска?

13

Мы используем Windows 7 Enterprise 64-bit SP1 на Dell Precision T3500 (Xeon E5630 при 2,53 ГГц, 4 ГБ ОЗУ). Поверх этого находится VMWare Workstation 7.1.4, до последней версии. Виртуальная машина работает под управлением Windows XP Professional, 32-разрядная версия SP3. VMWare настроен на выделение 2 ГБ оперативной памяти для гостя.

Выполнение практически любой операции внутри виртуальной машины выполняется очень медленно; даже прокрутка текстового файла может занять несколько секунд, с очень очевидной связанной дисковой активностью. Быстрая проверка диспетчера задач и монитора ресурсов с хоста Windows 7 показывает, что VMWare выделяется значительный кусок виртуальной памяти, но я думаю, что все это выгружается, и как только я начинаю прокручивать текстовый файл, я быстро нажимаю что-то вроде 140 серьезных неисправностей в секунду и оставайся там.

Более старые версии VMWare на гораздо более древнем оборудовании (Pentium 4-vintage), работающем под управлением Windows XP, никогда не проявляли этих специфических симптомов. Есть ли какой-нибудь способ сделать Windows 7 менее агрессивным в отношении подкачки VMWare из памяти, или есть какое-то решение, которое уменьшает объем подкачки на диск? Вполне возможно, что у меня просто что-то неправильно настроено, но я не слишком много играл с настройками. Любые предложения будут оценены, спасибо.

QID
источник
1
У меня нет никаких предложений, кроме как сказать, что мы запускаем VMware Workstation 7.x на хостах Win7 x64 без проблем. Мы работаем как с гостями XP, так и с Win7, и они оба, кажется, работают нормально, без каких-либо других настроек Windows.
Райан Болджер
1
Может быть, у вас есть функция VMware, которая позволяет вам менять виртуальную память VM на хосте? Это может сильно замедлить ход событий.
Джеймс Т Снелл
ОЗУ выглядит немного низко - попробуйте обновить до 8 ГБ
Linker3000
@TheWhitePhoenix - было установлено «Разрешить обмен некоторой памяти виртуальной машины». Я изменил его на «Уместить всю память виртуальной машины в зарезервированную память хоста», что могло улучшить ситуацию, но, к сожалению, не исправить ее полностью.
Qid
@ Linker3000 - Наши старые настольные компьютеры имели только 2 ГБ и никогда не демонстрировали такого поведения, и эта опция мне в любом случае недоступна.
Qid

Ответы:

15

Смотрите последнюю запись здесь http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1008885

Я видел огромные улучшения производительности ВМ после внесения этого изменения. Просто убедитесь, что у вас достаточно памяти на вашем хосте.

Отредактируйте настройки виртуальной машины, чтобы уменьшить использование ввода-вывода, используя больше памяти хоста:

Добавление этих параметров на виртуальную машину может снизить нагрузку ввода-вывода на жесткий диск, однако эти настройки требуют дополнительной памяти на хосте. Добавляйте эти параметры только в том случае, если на хосте достаточно свободной памяти для размещения всей памяти, выделенной виртуальной машине, в противном случае вы можете вызвать состояние нехватки памяти, которое может снизить производительность всех запущенных виртуальных машин или повлиять на операционную систему хоста. Используйте эти настройки с осторожностью.
Откройте файл .vmx для уязвимой виртуальной машины, когда она выключена. Добавьте следующие строки в файл с помощью текстового редактора. Для получения дополнительной информации см. Редактирование файла .vmx виртуальной машины VMware Workstation и VMware Player (2057902).

Примечание. Если вы используете VMware Server, вам может потребоваться перезапустить службу авторизации VMware (vmware-authd), чтобы изменения вступили в силу.

MemTrimRate = "0" 
mainMem.useNamedFile = "FALSE"
sched.mem.pshare.enable = "FALSE" 
prefvmx.useRecommendedLockedMemSize = "TRUE"

Примечание. Если вы используете хост Linux, используйте следующую запись вместо mainMem.useNamedFile = "FALSE". Запись mainMem.useNamedFile применяется только к хостам Windows.

mainmem.backing = "swap"
jgoeders
источник
2
Это mainMem.useNamedFile="FALSE"ключ. Без этой записи vmware выделит файл на диске хоста для хранения всего содержимого гостевой оперативной памяти и в некоторых случаях может непрерывно перезаписывать диск хоста оперативной памятью гостя. В худшем случае я видел, что гости были совершенно непригодны. В лучшем случае гости все равно оказываются значительно медленнее большую часть времени. Я еще не видел случая, когда оставление этого параметра на самом деле способствовало повышению производительности, за исключением того, что он ускоряет приостановку.
Брайан Гидеон
2

В Win7 работает антивирусный сканер? Может быть, мучительно сканировать файлы VMDK на лету.

И, как сказал zippy, vmtools делает МНОГО, но это не должно быть так плохо, как вы описали, если они еще не установлены. Vmtools выполняет функцию всплывающей памяти, которая позволяет VMware узнать, что безопасно выводить на страницу, и не позволяет окнам извлекать выгоду из того, что реально использует vmware.

Да, и Windows Search 4.0 в XP может сойти с ума в виртуальной машине. Может ошибочно думать, что система на 99% простаивает и выполняет индексацию.

Джед
источник
Возможен антивирусный сканер, мне нужно поговорить с нашим ИТ-отделом об этом. Похоже, что Windows Search не установлен, и служба не запущена, так что это не так.
Qid
2

РЕДАКТИРОВАТЬ: Давайте начнем с хост-машины. У вас включены расширения виртуализации в BIOS? У вас установлены последние версии чипсета и драйверы Intel RST? Кэширование диска включено на диске? VMware Workstation работает как любая другая программа поверх Windows, поэтому вы хотите, чтобы ваша хост-система работала настолько быстро, насколько это возможно.

Затем уменьшите объем оперативной памяти, используемой виртуальной машиной XP, и уменьшите ее до 1 ГБ. У меня был один случай, когда выделение 2 ГБ для виртуальной машины на ПК с 4 ГБ приводило к поломке виртуальной машины и хост-компьютера. Возможно, у вас меньше оперативной памяти, чем вы думаете.

Если у вас есть запасной T3500, установите на него Windows XP + VMware Workstation и попробуйте запустить виртуальную машину с этой (запустите установку, идентичную вашим старым машинам P4, за исключением аппаратного обеспечения). Если он работает медленно, вы узнаете, что это что-то с аппаратным обеспечением на T3500.

Наконец, вы можете обратиться в службу поддержки VMware. По крайней мере, вы сможете сказать своему боссу, что делаете все возможное, чтобы решить эту проблему.

У вас есть VMware Tools, установленный внутри виртуальной машины? Отсутствие этой установки приведет к ужасной производительности и задержке видео / мыши.

проворный
источник
У меня установлены VMWare Tools и я обновил их до последней версии. Хорошая попытка, хотя.
Qid
0

Vmware имеет возможность дефрагментировать виртуальный диск, похоже, что-то отличное от дефрагментации ОС. Стоит попробовать...

Дэн
источник
0

Добавьте mainmem.backing = "swap" в ваш файл .vmx для этой виртуальной машины.

Денис
источник
2
Выглядит интересно. Можете ли вы предоставить ссылку и / или объяснение?
Скотт
«В этом сообщении не упоминаются никакие ссылки или источники. Пожалуйста, помогите улучшить этот пост, добавив ссылки на надежные источники. Материалы, полученные из внешних источников, могут быть оспорены и удалены».
gparyani
Это уже обсуждается с более подробной информацией в ответе @jgoeders, поэтому в этом ответе нет ничего нового.
Dufte
Это для хостов Linux.
Александр Щебликин
0

Я заметил, что производительность снизилась при использовании Outlook. По-видимому, программа поиска индекса Windows убивает производительность.

Если вы отключите индексатор (Панель управления, Параметры индексирования), вы заметите значительное улучшение.

Мартиен Лубберинк
источник
Вы используете VMWare? Если нет, то ответ не имеет ничего общего с первоначальным вопросом.
Дэвид Постилл