私はvmwareで非常に速い時間ドリフトを持っています。
-241587 20:38
-241587 20:39
-241587 20:40
-241587 20:41
-241587 20:42
-0.014 20:02
-0.025 20:03
-0.056 20:04
-0.093 20:05
-0.093 20:06
-68996. 20:07
-68996. 20:08
12.923 20:07
12.923 20:08
20.371 20:09
21.734 20:10
21.734 20:11
-67965. 20:12
-67941. 20:13
-67915. 20:14
-67906. 20:15
-67906. 20:16
-67897. 20:17
2.508 20:16
2.508 20:17
37.491 20:18
40.774 20:19
40.774 20:20
40.774 20:21
-67927. 20:22
-67912. 20:23
-67912. 20:24
-67897. 20:25
NTPはそれに対処しようとしますが、ご覧のとおり、問題が発生しています。 vmware-toolsも試しましたが、明らかにNTPより劣っています。私のNTP頻繁な同期間隔とパニックへの耐性で構成されています:
tinker panic 0
restrict 127.0.0.1
restrict default kod nomodify notrap
server 10.0.0.3 iburst minpoll 4 maxpoll 6
だから、ドリフトの原因を見つけたほうがいいと気づきました。時間のずれはCPUの負荷に依存することがわかりました。より高いCPU負荷-より高いドリフト。 CPUとメモリの盗用はドリフトに影響しません。 1つのホスト上の単一の仮想マシンを分離します-ドリフトはまだ続きます。私はさまざまなクロックソースを試しました。 hpet、tsc、acpi_pm。 -まだドリフトが続いています。カーネル設定ではゲストレベルで、vmkernel.boot設定ではVMwareレベルでそれらを無効/有効にしていました。 -何も機能しませんでした。
cat /proc/interrupts | grep timer; sleep 10; cat /proc/interrupts | grep timer
0: 46 0 0 0 0 0 0 0 IO-APIC 2-Edge timer
LOC: 109263 298456 176209 142493 237279 126348 113116 104975 Local timer interrupts
0: 46 0 0 0 0 0 0 0 IO-APIC 2-Edge timer
LOC: 109499 299498 176782 142786 237786 126769 113417 105206 Local timer interrupts
ゲストOS:Ubuntu 16.04.1 VMware 5.5
次の.vmx構成ファイルオプションを使用して、定期的な同期を有効にできます。
tools.syncTime = true
20秒ごとなど、期間を非常に短い値に設定します。
tools.syncTime.period = 20
これを機能させるには、ゲストOSにVMWareツールをインストールする必要があります。
詳細については、 http://www.vmware.com/pdf/vmware_timekeeping.pdf を参照してください。