Почему файлы виртуальной машины на виртуальном диске не работают быстрее, чем на физическом диске?


6

Я установил на хосте (Windows 7) 36 ГБ памяти (4x8 ГБ + 2x2 ГБ) и использовал ImDisk для создания виртуального диска емкостью 32 ГБ и отформатировал его с файловой системой NTFS.

Затем я скопировал папку виртуальной машины (в формате VMware Workstation), включая .vmx, .vmdkи т. д. на только что созданный RAM диск.

Затем я попытался включить его в VMware Workstation.

Что меня удивило, так это то, что производительность не лучше, чем раньше. Включение виртуальной машины Windows 7 стоит почти столько же времени.

Я проверил Resource Monitor на хосте Windows 7, и статистика процессора, диска и сети довольно нормальная. Память сообщает о 3000+ серьезных сбоях в секунду при загрузке гостевой ОС, а затем падает до 0 после включения гостевой ОС.

Есть идеи по этому вопросу? Я думал, что производительность ramdisk будет лучше, чем физический диск в этом случае. Я ошибся?


Микро оптимизация. Вздох.
surfasb

Ответы:


2

Вы не упомянули, как распределяется ваша RAM. если виртуальная машина слишком мала, это вызовет пейджинговую активность, которая может проявиться как сбой страницы в виртуальной машине. Думая, что это может сохранить нагрузку на ваш процессор, когда вы меняете и выгружаете из пространства подкачки (если он находится на ram-диске, вы, вероятно, не увидите много IO хоста, в основном VM io)


Что вы подразумеваете под "Если виртуальная машина слишком мала?"
lzam

1
Ваша виртуальная машина (гость) будет иметь размер ОЗУ, определенный для нее в настройках. это виртуальный эквивалент памяти, установленной для хост-систем os. пример: вы сказали, что для оперативной памяти настроено 32 ГБ, но только для вашей базовой ОС требуется всего 4 ГБ. с этих 4 Гбайт вы также предоставляете оперативную память гостевой системе. Это не много памяти для запуска хоста и гостя в эти дни.
LhasaDad

0

Я думаю, что VMWare не может справиться с этой скоростью, потому что программа находится на вашем жестком диске. Вы должны увидеть увеличение производительности (более отзывчивое в моем случае), когда вы поместите файл подкачки на виртуальный диск и обязательно внесете изменения в реестр, чтобы очистить файл подкачки при завершении работы (чтобы предотвратить ошибку файла подкачки при поиске чего-либо больше нет) Файл страницы загружается до инициализации виртуального диска.


файл подкачки только используется для неактивных приложений.
Gizmo


1
Это не совсем верно, @Gizmo. Файл подкачки используется для длинных бездействующих страниц во всех процессах. Это правда, что у неактивных проков будет больше страниц с большим временем простоя, чем у активных, но, с другой стороны, только активные проки будут испытывать сбои страниц, а сбои страниц возникают при замене рабочего набора (т.е. выталкивают старые устаревшие страницы в файл подкачки ) случается ... если это случается. Источник: Windows Internals Соломон, Руссинович и Ионеску, глава Управление памятью.
Jamie Hanrahan

0

Вы проверили, создан ли RAM-диск в виртуальной или физической памяти? В режиме виртуальной памяти будет использоваться файл подкачки, поэтому делать это бессмысленно.

Вы можете проверить это на вкладке конфигурации imDisk, см. «Файл изображения». Если он указывает на «виртуальную память», он создается в файле подкачки. Когда вы видите «Физическая память», она создается непосредственно в памяти.

Кроме того, VM-файлы огромны, поэтому вам необходимо увеличить размер блока / размер кластера в соответствии с размером блока / кластера VM-Drive.


0

Вы уверены, что VMWare не использует виртуальный диск на физическом жестком диске? VMWare иногда использует полные пути. Переименуйте каталог (временно), в котором ваша виртуальная машина находится на диске, затем VMWare предоставит вам возможность выбора, если вы переместили или скопировали компьютер, выберите вариант копирования.

После этого, если это не сработает, это может зависеть от свойств / возможностей эмуляции VMWare. Вы можете попробовать VirtualBox за шейдж. Я надеюсь, что вы используете SCSI вместо режима IDE в VMWare?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.