2007年6月22日 星期五

VMware, Power Management, Timekeeping

現在的X86 CPU,大多都有省電管理技術,像是Intel的(E)IST、C1E和AMD的C&Q,開啟這些功能不只對你有利,也對地球有利。

然而開啟這些功能,卻會讓在VMware Server & Workstation裡頭執行的guest OS,其時間無法同步化,通常都會跑的太快。而VMware在發展它的虛擬化軟體時,也有考慮到這個問題。 參考「Host Power Management Causes Problems with Guest Timekeeping (Windows Hosts)」這篇技術文章,便可以知道此問題的解決之道。

其實就是在config.ini這個設定檔中,加入三行敘述:

host.cpukHz = "1700000"
host.noTSC = "TRUE"
ptsc.noTSC = "TRUE"

第一行是指定CPU的頻率,單位是khz。如果是1.7Ghz的CPU,就是1.7 x 1000(變成mhz) x 1000(變成khz)。第二和第三行將會無視Time stamp counter的狀態,並嘗試讓guest OS的時間維持在最準確的狀態。

修改完之後存檔並重新啟動Windows便完成了,理論上是重新啟動VMware的服務即可。