Огромный дрейф времени в гостевой системе VMWare Windows 7

Я использую гостевую систему Windows 7 в VMWare, и она теряет до 5 секунд в минуту. Я повторно синхронизировал время через Windows около 25 минут назад, и оно пока потеряло 00:01:20. Это явно противоречиво, так как я часто нахожу, что часы примерно на 2 минуты не синхронизированы с другими компьютерами. Гость Redhat на той же виртуальной машине остается заблокированным для других компьютеров, которые используют тот же сервер времени домена. Я огляделся и обнаружил, что люди рекомендуют использовать как инструмент синхронизации VMWare, так и другие, которые предлагают использовать гостевой инструмент синхронизации Windows. Этот дрифт кажется нелепым и вызывает проблемы с программным обеспечением, работающим на разных машинах.

Я спрашиваю: кто-нибудь знает, что может быть причиной этого, и что я мог бы сделать, чтобы смягчить это? У меня есть подозрение, что VMWare каким-то образом вращает часы, но тот факт, что другая гостевая ОС не испытывает это, заставляет меня усомниться в этом подозрении.

Благодарю.

1 ответ

Почему это происходит?

Я думаю, что это происходит потому, что свойства физического оборудования хоста не могут быть полностью и точно отражены в виртуальном оборудовании, в то же время обеспечивая виртуализацию на платформе x86 (на которой эффективная виртуализация считалась невозможной в течение многих лет), особенно для обеспечения высокой производительности при низком уровне производительности. накладные расходы. В частности, предположительно, одним из факторов является изменение тактовых частот и управление питанием между физическим и логическим процессорами. Я думаю, что, возможно, тактовая частота физического процессора варьируется, но логический процессор, представленный VMware, не показывает этого. IIRC регистр TSC (Time Stamp Counter) портится, и это особенно смущает Windows.

VMware, в своей обычной тщательной разработке, имеет 31-страничную исчерпывающую статью о том, как работает хронометраж виртуальной машины и с какими проблемами она может столкнуться: http://www.vmware.com/files/pdf/techpaper/Timekeeping-In-VirtualMachines.pdf. Время работы Windows рассматривается на стр. 14

Смотрите также: http://pelican.rsvs.ulaval.ca/mediawiki/index.php/VMWare_tips_and_tricks

Почему это так плохо для этой виртуальной машины на этом оборудовании? Я понятия не имею; Я хотел бы помочь вам там. У вас есть другие виртуальные машины Windows на той же машине? Как они поживают?

Как это исправить:

Если у вас есть точное время хоста, то я уверен, что адекватным решением будет синхронизация времени VMware Tools каждые 60 секунд. (Если у вас нет точного времени хоста, обратитесь к концу этого раздела, чтобы узнать, как его настроить.)

Поместите это в файл VM.vmx:

tools.syncTime = true
tools.syncTime.period = 60   #Every 60 seconds is supposed to be the default, but this forces it to 60 second just in case.

Если вы хотите, вы можете синхронизировать его с хостом каждую секунду:

tools.syncTime.period = 1

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1318

После этого убедитесь, что Windows НЕ синхронизируется с аппаратными часами TOD. Если попытаться синхронизировать с этим также, это может вызвать проблемы, как объяснено подробно в документе VMware. VMware говорит, что они отключают это по умолчанию, но, возможно, его снова включили, особенно если вы пробовали другие исправления.

Кроме того, ИМХО, синхронизация времени Microsoft не является проблемой. Поскольку у вас есть гостевая система Linux на том же хосте, я настроил там NTP и позволил ему поддерживать часы хоста в актуальном состоянии.

Больше информации о решениях:

Вот превосходный набор ответов, обеспечивающих синхронизацию виртуальной машины, даже если она предназначена для виртуальной машины Linux, а также случайные дополнительные ответы о том, почему возникает проблема: Как поддерживать синхронизацию часов VMWare VM?

Вот старая статья, которая, как я подозреваю, будет работать, несмотря на ссылки на виртуальные машины Linux: http://vmblog.com/archive/2007/08/24/help-vmware-fixing-time-keeping-problems-with-the-guest-os.aspx

Другие вопросы по тегам