91 lines
3.1 KiB
HTML
91 lines
3.1 KiB
HTML
<HTML><HEAD><TITLE>
|
|
<TT>tickadj</TT> - set time-related kernel variables
|
|
</TITLE></HEAD><BODY><H3>
|
|
<TT>tickadj</TT> - set time-related kernel variables
|
|
</H3><HR>
|
|
|
|
<H4>Synopsis</H4>
|
|
|
|
<TT>tickadj [ -Aqs ] [ -a <I>tickadj</I> ] [ -t <I>tick</I> ]</TT>
|
|
|
|
<H4>Description</H4>
|
|
|
|
The <TT>tickadj</TT> program reads, and optionally modifies, several
|
|
timekeeping-related variables in the running kernel in some machines,
|
|
via <TT>/dev/kmem</TT>. The particular variables it is concerned with
|
|
are <TT>tick</TT>, which is the number of microseconds added to the
|
|
system time during 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>Note that this program does NOT work in some kernels, in particular
|
|
Solaris 2.6 or later. See the <A HREF="solaris-dosynctodr.html">
|
|
report</A>.
|
|
|
|
<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>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.
|
|
<H4>
|
|
Command Line Options</H4>
|
|
|
|
<DL>
|
|
|
|
<DT><TT>-a <I>tickadj</I></TT></DT>
|
|
<DD>Set the kernel variable <TT>tickadj</TT> to the value
|
|
<I><TT>tickadj</TT></I>specified.</DD>
|
|
|
|
<DT><TT>-A</TT></DT>
|
|
<DD>Set the kernel variable <TT>tickadj</TT> to an internally computed
|
|
"optimal" value.</DD>
|
|
|
|
<DT><TT>-t <I>tick</I></TT></DT>
|
|
<DD>Set the kernel variable <TT>tick</TT> to the value
|
|
<I><TT>tick</TT></I> specified.</DD>
|
|
|
|
<DT><TT>-s</TT></DT>
|
|
<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.</DD>
|
|
|
|
<DT><TT>-q</TT></DT>
|
|
<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.</DD>
|
|
|
|
</DL>
|
|
|
|
<H4>Files</H4>
|
|
|
|
<PRE>
|
|
/vmunix
|
|
|
|
/unix
|
|
|
|
/dev/kmem</PRE>
|
|
|
|
<H4>Bugs</H4>
|
|
|
|
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.
|
|
|
|
<hr><a href=index.htm>Home</a><address><a
|
|
href=mailto:mills@udel.edu> David L. Mills <mills@udel.edu></a>
|
|
</address></a></body></html>
|