1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
6 <meta http-equiv=
"content-type" content=
"text/html;charset=iso-8859-1">
7 <meta name=
"generator" content=
"HTML Tidy, see www.w3.org">
8 <title>tickadj - set time-related kernel variables
</title>
9 <link href=
"scripts/style.css" type=
"text/css" rel=
"stylesheet">
13 <h3><tt>tickadj
</tt> - set time-related kernel variables
</h3>
14 <p>Last update:
<csobj format=
"ShortTime" h=
"25" locale=
"00000409" region=
"0" t=
"DateTime" w=
"61">18:
50</csobj> UTC
<csobj format=
"LongDate" h=
"25" locale=
"00000409" region=
"0" t=
"DateTime" w=
"246">Thursday, July
28,
2005</csobj></p>
17 <tt>tickadj [ -Aqs ] [ -a
<i>tickadj
</i> ] [ -t
<i>tick
</i> ]
</tt>
19 <p>The
<tt>tickadj
</tt> program reads, and optionally modifies, several timekeeping-related variables in older kernels that do not have support for precision ttimekeeping, including HP-UX, SunOS, Ultrix, SGI and probably others. Those machines provide means to patch the kernel
<tt>/dev/kmem
</tt>. 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
<tt>tickadj
</tt> include
<tt>tick
</tt>, which is the number of microseconds added to the system time for a clock interrupt,
<tt>tickadj
</tt>, which sets the slew rate and resolution used by the
<tt>adjtime
</tt> system call, and
<tt>dosynctodr
</tt>, which indicates to the kernels on some machines whether they should internally adjust the system clock to keep it in line with time-of-day clock or not.
</p>
20 <p>By default, with no arguments,
<tt>tickadj
</tt> 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
<tt>tickadj
</tt> variable if the intent is to run the
<tt>ntpd
</tt> Network Time Protocol (NTP) daemon, and prints this as well. Since the operation of
<tt>tickadj
</tt> when reading the kernel mimics the operation of similar parts of the
<tt>ntpd
</tt> program fairly closely, this can be useful when debugging problems with
<tt>ntpd
</tt>.
</p>
21 <p>Note that
<tt>tickadj
</tt> should be run with some caution when being used for the first time on different types of machines. The operations which
<tt>tickadj
</tt> tries to perform are not guaranteed to work on all Unix machines and may in rare cases cause the kernel to crash.
</p>
22 <h4>Command Line Options
</h4>
24 <dt><tt>-a
<i>tickadj
</i></tt>
25 <dd>Set the kernel variable
<tt>tickadj
</tt> to the value
<i><tt>tickadj
</tt></i>specified.
27 <dd>Set the kernel variable
<tt>tickadj
</tt> to an internally computed
"optimal
" value.
28 <dt><tt>-t
<i>tick
</i></tt>
29 <dd>Set the kernel variable
<tt>tick
</tt> to the value
<i><tt>tick
</tt></i> specified.
31 <dd>Set the kernel variable
<tt>dosynctodr
</tt> to zero, which disables the hardware time-of-year clock, a prerequisite for running the
<tt>ntpd
</tt> daemon under SunOS4.
33 <dd>Normally,
<tt>tickadj
</tt> is quite verbose about what it is doing. The
<tt>-q
</tt> flag tells it to shut up about everything except errors.
44 Fiddling with kernel variables at run time as a part of ordinary operations is a hideous practice which is only necessary to make up for deficiencies in the implementation of
<tt>adjtime
</tt> 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
<tt>tickadj
</tt> program went away.
46 <script type=
"text/javascript" language=
"javascript" src=
"scripts/footer.txt"></script>