changing the system clock frequency on Solaris 2.7
system clocks on several of the machines are consistently fast or slow
by almost 1% per day, which is too much for ntpd to handle. (Ntp is
only designed to handle clock frequencies off by at most 500 parts per
million, ours are off by at least several thousand parts per million.)
Some versions of UNIX come with a program called "tickadj" that allows
you to change the number of microseconds added to the system clock (by
changing the kernel variable "tick") everytime the timer interrupt
fires. This utility doesn't come with Solaris, apparently because
Solaris uses different kernel variables for this purpose.
The ntp distribution comes with some instructions for fixing similar
problems on Ultra 5s running Solaris 2.5, but says nothing (that I can
find) about later versions of Solaris. In particular the fix involves
running a script to modify the undocumented kernel variable
"cpu_tick_freq" to an amount consistent with the machines actual clock
frequency. (See
http://www.eecis.udel.edu/~ntp/ntp_spool/html/hints/solaris.xtra.patchfreq).
Does anyone know if this fix is also appropriate for later versions of
Solaris (in particular 2.7), or if there is some other way to make our
system clocks accurate enough for ntp to keep them in sync?
Thank you,
-Matt Frank

