FreeBSDで運用する(その4)
その日は帰宅後にVPN越しにTelnetで設定作業を行うことにした。
ところが、時間を合わせた筈にも関わらず、随分と前の時間になっていた。
不思議に思いながらも、再び時間を設定したが、作業を開始して15分後、既に数十秒も時間が遅れていることに気が付いた。
まさかと思いながらも、次のperlスクリプトを作成して腕時計と見比べた。
#!/usr/bin/perl use strict; #うっかり者のための定義 select(STDOUT); $| = 1; my $t = time; for ( ; ; ) { my $t2 = time; if ($t2 != $t) { $t = $t2; my ($sec, $min, $hour) = localtime($t2); printf("\r%02d:%02d:%02d", ,$hour, $min, $sec); } }
そうしたら、なんと10秒で0.5秒以上も遅れるではないか!
こんなに遅れてしまうのでは使いものにならない。
今までの苦労を無にしてなるものかとばかりgoogle検索を行った。
VMware上でFreeBSD6.0の時間が遅れる問題には、思ったよりも多くの人が悩まされていた。
ただし、ここで以下の設定をすれば、CPUに若干の負担は掛かるが、時間の遅れは無くなると書いている人がいた。
# echo "kern.timecounter.hardware=TSC" >> /etc/sysctl.conf # /etc/rc.d/sysctl reload
残念ながら、その設定を行っても全く変わらなかったので、FreeBSD6.0をあきらめざるを得ないことを悟った。