2012-12-14 60 views
5

我在VMWare中運行Windows 7 guest虛擬機,並且每分鐘丟失多達5秒鐘的時間。我在大約25分鐘前通過Windows重新分配了時間,到目前爲止它已經失去了00:01:20。這顯然是不一致的,因爲我經常發現時鐘與其他計算機大約2分鐘不同步。同一虛擬機上的Redhat guest虛擬機與使用相同域時間服務器的其他計算機保持鎖定步驟。我環顧四周,發現有人推薦使用VMWare同步工具,而其他人建議使用來賓Windows同步工具。漂移這個大看起來很可笑,並導致軟件在各種機器上運行的問題。VMWare Windows 7中的巨大時間漂移guest

我問的是,有沒有人知道什麼可能導致這一點,我可以做什麼來緩解它?我懷疑VMWare以某種方式擺脫了時鐘,但事實是不同的客戶操作系統沒有經歷它,這讓我懷疑這種懷疑。

謝謝。

+0

This'd可能做serverfault.com或superuser.com更好,但你必須檢查他們的常見問題解答。 –

回答

3

爲什麼會發生?

我認爲這是因爲主機物理硬件的屬性無法在虛擬硬件中完全準確地表現出來,同時仍然在x86平臺上提供虛擬化(多年來高效虛擬化被認爲是不可能的),特別是以低開銷提供高性能。更具體地說,推測一個因素是物理CPU和邏輯CPU之間的時鐘速度和電源管理的變化。我認爲也許CPU的CPU時鐘速度會有所不同,但VMware提供的邏輯CPU並不能說明這一點。 IIRC TSC(時間戳計數器)寄存器會混亂,這尤其會讓Windows感到困惑。

VMware以其通常的全面工程技術,具有關於VM計時如何工作以及可能會遇到什麼問題的全面文章:http://www.vmware.com/files/pdf/techpaper/Timekeeping-In-VirtualMachines.pdf。視窗報時被處理的第14頁

另請參見: http://pelican.rsvs.ulaval.ca/mediawiki/index.php/VMWare_tips_and_tricks#Power_saving_.28SpeedStep.2C_C-states.2C_P-States.2C....29

爲什麼會這樣糟糕,爲此VM在這個硬件?我不知道;我希望我能幫到你。你在同一臺機器上是否有其他Windows虛擬機?他們的票價如何?

如何解決此問題:

如果你有正確的主機時間,那麼我敢肯定,適當的解決方案是有VMware Tools的時間同步每60秒。 (如果您沒有準確的主機時間,請參見本節如何獲取設立的結束。)

將此放在與虛擬機的.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表示他們默認禁用了這個功能,但它可能已經被重新啓用,特別是如果您嘗試了不同的修復程序。另外,恕我直言,微軟的時間同步並不是麻煩的結束。既然你在同一個主機上有一個Linux客戶,我會在那裏設置NTP,讓主機時鐘保持最新狀態。

更多的解決方案信息:

這裏是答案保持一個VM的好時機同步的優秀設定,即使它是一個Linux VM,對爲什麼會出現這個問題偶爾獎金答案一起: How to keep a VMWare VM's clock in sync?

這裏是一個老的文章我懷疑,儘管引用到Linux虛擬機將工作: http://vmblog.com/archive/2007/08/24/help-vmware-fixing-time-keeping-problems-with-the-guest-os.aspx

相關問題