tickadj - set time-related kernel variables
tickadj [ -Aqs ] [ -a tickadj ] [ -t tick ]
The tickadj program reads, and optionally modifies, several timekeep
ing-related variables in older kernels that do not have support for
precision ttimekeeping, including HP-UX, SunOS, Ultrix, SGI and proba
bly others. Those machines provide means to patch the kernel /dev/kmem.
Newer machines with precision time support, including Solaris, Tru64,
FreeBSD and Linux (with PPSkit patch) should NOT use the program. The
particular variables that can be changed with tickadj include tick,
which is the number of microseconds added to the system time for a
clock interrupt, tickadj, which sets the slew rate and resolution used
by the adjtime system call, and dosynctodr, which indicates to the ker
nels on some machines whether they should internally adjust the system
clock to keep it in line with time-of-day clock or not.
By default, with no arguments, tickadj reads the variables of interest
in the kernel and displays them. At the same time, it determines an
"optimal" value for the value of the tickadj variable if the intent is
to run the ntpd Network Time Protocol (NTP) daemon, and prints this as
well. Since the operation of tickadj when reading the kernel mimics the
operation of similar parts of the ntpd program fairly closely, this can
be useful when debugging problems with ntpd.
Note that tickadj should be run with some caution when being used for
the first time on different types of machines. The operations which
tickadj tries to perform are not guaranteed to work on all Unix
machines and may in rare cases cause the kernel to crash.
Set the kernel variable tickadj to the value tickadjspecified.
-A Set the kernel variable tickadj to an internally computed "opti
Set the kernel variable tick to the value tick specified.
-s Set the kernel variable dosynctodr to zero, which disables the
hardware time-of-year clock, a prerequisite for running the ntpd
daemon under SunOS4.
-q Normally, tickadj is quite verbose about what it is doing. The
-q flag tells it to shut up about everything except errors.
Fiddling with kernel variables at run time as a part of ordinary opera
tions is a hideous practice which is only necessary to make up for
deficiencies in the implementation of adjtime in many kernels and/or
brokenness of the system clock in some vendors kernels. It would be
much better if the kernels were fixed and the tickadj program went
Network Time Protocol October 7, 2006 TICKADJ(8)