Your company here — click to reach over 10,000 unique daily visitors

ntpshmmon - Man Page

capture samples from gpsd or other ntpd refclock sources


ntpshmmon [Options]

ntpshmmon -h

ntpshmmon -V


This program monitors the shared-memory segments updated by gpsd 8 , and possibly other refclock sources, as a way of communicating with ntpd, the Network Time Protocol daemon. It reads these in exactly the way an ntpd instance does. It can be run concurrently with ntpd without interfering with ntpd's normal operation.

ntpshmmon requires root privileges to access the root only NTP0 and NTP1.  Running as a normal user will only allow access to NTP2 and NTP3. cause loss of functionality.

This program runs forever, or until a termination option is matched, or until interrupted, generating sample reports to standard output. Each line consists of whitespace-separated textual fields.

Here is an example of the beginning of a report file:

ntpshmmon version 3.18
#      Name   Seen@                Clock                Real               L Pre
sample NTP2 1424926256.443030206 1424926256.115869233 1424926256.000000000 0  -1
sample NTP3 1424926256.443060517 1424926255.995430821 1424926256.000000000 0 -20
sample NTP3 1424926256.995747347 1424926256.995422728 1424926257.000000000 0 -20
sample NTP2 1424926257.112433572 1424926257.111936726 1424926257.000000000 0  -1
sample NTP3 1424926257.996221153 1424926257.995410232 1424926258.000000000 0 -20
sample NTP2 1424926258.107769409 1424926258.107451006 1424926258.000000000 0  -1
sample NTP3 1424926258.995647636 1424926258.995406476 1424926259.000000000 0 -20

The output always begins with a header line expressing the version of the output format; the version line begins with "ntpshmmon version" and is followed by a numeric version field.

The remainder of the file is either comments or sample lines. A comment line begins with a # and should be ignored by programs that interpret this format.

The fields of a sample line are as follows:

  1. The keyword "sample"
  2. The NTP unit from which it was collected.
  3. Collection time of day, seconds.
  4. Receiver time of day, seconds.
  5. Clock time of day, seconds.
  6. Leap-second notification status.
  7. Source precision (log(2) of source jitter).

In these fields, "clock time" is the high-precision system clock time measured by the source and "receiver time" is from the receiver. Both times are in UTC. It is normal for the seconds part of receiver time to coincide with the seconds part of collection time and for the nanoseconds part of receiver time to be zero.

If the -o option is used, the "Seen@" column is replaced with the "Offset" column. The "Offset" is the difference between "Clock" and "Real" times.


-?,  -h,  --help

Display program usage and exit.

-n COUNT, --count COUNT

Set maximum number of samples to collect to COUNT.

-o,  --offset

Replace the "Seen@" column with the "Offset" column. The "Offset" is the difference between "Clock" and "Real" times.

-s,  --rmshm

Remove all SHM segments used by GPSD. This option will normally only be of interest to GPSD developers.

-t SECONDS, --seconds SECONDS

Set maximum time to collect samples in seconds to SECONDS.

-v,  --verbose

Enable verbose status messages.

-V,  --version

Display program version and exit.

Return Values


on success.


on failure

See Also

gpsd(8), gps(1)


Project web site: https://gpsd.io/


This file is Copyright 2013 by the GPSD project
SPDX-License-Identifier: BSD-2-clause


Eric S. Raymond


2023-01-10 GPSD, Version 3.25 GPSD Documentation