125 lines
2.9 KiB
Groff
125 lines
2.9 KiB
Groff
.\" $Id: tickadj.8,v 1.4 1997/02/22 16:14:18 peter Exp $
|
|
.\"
|
|
.Dd December 21, 1993
|
|
.Dt TICKADJ 8
|
|
.Os
|
|
.Sh NAME
|
|
.Nm tickadj
|
|
.Nd fiddle time\-related variables in the kernel
|
|
.Sh SYNOPSIS
|
|
.Nm tickadj
|
|
.Op Fl Adkpqs
|
|
.Op Fl a Ar new_tickadj
|
|
.Op Fl t Ar new_tick
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
program reads, and optionally modifies, several time\-keeping\-related
|
|
variables in the running kernel, via
|
|
.Pa /dev/kmem .
|
|
The particular variables it is concerned with are
|
|
.Em tick ,
|
|
which is the number of microseconds added to the system time during a
|
|
clock interrupt,
|
|
.Em tickadj ,
|
|
which sets the slew rate and resolution used by the
|
|
.Xr adjtime 2
|
|
system call, and
|
|
.Em dosynctodr ,
|
|
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.
|
|
.Pp
|
|
By default, with no arguments,
|
|
.Nm
|
|
reads the variables of interest in the kernel and prints them. At the
|
|
same time it determines an
|
|
.Qq optimal
|
|
value for the value of the
|
|
.Em tickadj
|
|
variable if the intent is to run the
|
|
.Xr xntpd 8
|
|
Network Time Protocol daemon, and prints this as well. Since the operation
|
|
of
|
|
.Nm
|
|
when reading the kernel mimics the operation of similar parts of the
|
|
.Xr xntpd 8
|
|
program fairly closely, this is useful for doing debugging of problems
|
|
with
|
|
.Xr xntpd 8 Ns .
|
|
.Pp
|
|
Various flags may be specified to change the variables of interest in
|
|
the running kernel:
|
|
.Bl -tag -width indent
|
|
.It Fl a Ar new_tickadj
|
|
Allow one to set the variable
|
|
.Em tickadj
|
|
to the value specified as an argument.
|
|
.It Fl A
|
|
Cause
|
|
.Em tickadj
|
|
to be modified, but instead will set it to the internally computed
|
|
.Qq optimal
|
|
value.
|
|
.It Fl d
|
|
Add debugging information.
|
|
.It Fl k
|
|
Use
|
|
.Pa /dev/kmem
|
|
instead of
|
|
.Pa /kernel .
|
|
This is the default.
|
|
.It Fl p
|
|
Tell
|
|
.Nm
|
|
to set the value of the variable
|
|
.Em noprintf
|
|
to one.
|
|
.It Fl q
|
|
Tell
|
|
.Nm
|
|
to shut up about everything except errors. Normally
|
|
.Nm
|
|
is quite verbose about what it is doing.
|
|
.It Fl s
|
|
Tell
|
|
.Nm
|
|
to set the value of the variable
|
|
.Em dosynctodr
|
|
to zero, a prerequisite for running the
|
|
.Xr xntpd 8
|
|
daemon under SunOS 4.0.
|
|
.It Fl t Ar new_tick
|
|
May be used to reset the kernel's value of
|
|
.Em tick ,
|
|
a capability which is useful on machines with very broken clocks.
|
|
.El
|
|
.Pp
|
|
Note that
|
|
.Nm
|
|
should be run with some caution when being used for the first time on
|
|
different types of machines. The operations which
|
|
.Nm
|
|
trys to perform are not guaranteed to work on all Unix machines.
|
|
.Sh FILES
|
|
.Bl -tag -width /dev/kmem -compact
|
|
.It Pa /kernel
|
|
.It Pa /dev/kmem
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr xntpd 8
|
|
.Sh HISTORY
|
|
Written by
|
|
.An Dennis Ferguson
|
|
at the University of Toronto.
|
|
.Sh BUGS
|
|
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
|
|
.Xr adjtime 8
|
|
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
|
|
.Nm
|
|
program went away.
|