Дефрагментировать в Windows VM?


17

Я прочитал противоречивый совет по этому вопросу, поэтому подумал, что спросить здесь.

Должен ли я запустить запланированную дефрагментацию в моей виртуальной машине?


Если у вас есть рабочая станция vmware, вы можете дефрагментировать сам диск виртуальной машины.
lbanz

Ответы:


33

Пользователи хранилищ называют виртуальные машины блендером ввода-вывода. Это потому, что все файлы гостя обычно находятся внутри «контейнера», такого как VMDK. Этот VMDK представляет собой один файл, который содержит все другие файлы, используемые виртуальной машиной.

Учтите, что VMDK 80 ГБ может не иметь все блоки, расположенные последовательно на диске - это еще более вероятно, если вы используете тонкую настройку. Запустив дефрагментацию внутри виртуальной машины, вы фактически не делаете файлы последовательными на физическом диске, вы делаете их последовательными внутри контейнера, и этот контейнер, вероятно, не является последовательным на физическом диске. По сути, во многих случаях это пустая трата времени, а прирост производительности в лучшем случае минимален.


Спасибо, меня в первую очередь интересует аспект производительности.
SteB

@SteB ... это именно то, о чем мой ответ. Увеличение производительности напрямую связано с возможностью выполнять последовательные операции чтения / записи вместо случайных операций чтения / записи на физическом диске. Если контейнер фрагментирован, значит, вы ничего не делаете для файлов внутри этого контейнера.
MDMarra

2
Если вы собираетесь сжать динамический VMDK (или любой другой виртуальный HD-файл), вам, как правило, сначала необходимо выполнить дефрагментацию, чтобы получить правильные результаты. Кроме этого, нет никаких причин запускать дефрагментацию, прирост производительности совершенно незначителен.
Крис С

Возможно ли теоретически, что HD гостя будет «фрагментирован» (как это видит виртуальная машина) достаточно сильно, чтобы разделенный ввод-вывод стал проблемой внутри виртуальной машины? Это был бы один из немногих вариантов использования, которые я могу придумать для дефрагментации внутри виртуальной машины. Я не уверен, как виртуальная машина могла бы добраться до этого состояния, хотя все еще была бы полезна в остальном.
Раздражатель

@afrazier Извините, я не понимаю, что вы имеете в виду. Производительность не будет хуже, чем у физического фрагментированного диска.
MDMarra

7

Если вы выделите все дисковое пространство при создании и дефрагментируете этот файл на своем реальном диске, а затем дефрагментируете виртуальный диск, то я ожидаю увидеть небольшое преимущество.

@ MDMarra прекрасно объяснил, почему нет смысла просто дефрагментировать виртуальный диск. Нет способа улучшить это.


1

Как реальный ответ, я никогда не видел большого эффекта от дефрагментации виртуальных машин. Тем не менее, если вы собираетесь потенциально сжать диск в какой-то момент, вы хотели бы дефрагментировать, чтобы помочь с этим процессом.


1

Если ваша цель - дефрагментация, вот что вы можете сделать:

  1. Завершите работу вашей гостевой ОС. Правильное отключение, а не приостановка

  2. В окне VM Ware Player щелкните гостевую ОС один раз и нажмите «Редактировать виртуальную машину».

  3. На вкладке «Оборудование» нажмите «Жесткий диск». С правой стороны вы увидите кнопку с названием «Утилиты». Нажав на нее, вы получите раскрывающееся меню. Выберите «Дефрагментация».

У меня есть гостевая ОС Ubuntu 12.04, и я должен сказать, что после дефрагментации я не увидел никакой разницы в производительности.


Ubuntu по умолчанию использует ext4, который обычно не фрагментируется, поэтому нет необходимости расфрагментировать ext3 / 4, и вы не будете стремиться к каким-либо преимуществам, физическим или грязным
Rqomey 25.10.12

-2

Несмотря на то, что Windows XP установлена ​​на VMWare Player, обслуживание этой ОС должно выполняться одинаково для лучшей производительности.

Даже если вы дефрагментировали VM HD, вам также нужно будет убедиться, что файл VHD полностью дефрагментирован в операционной системе хоста, иначе это не будет иметь наилучшего эффекта.


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