Tuning ntpd

Charly's Column – ntpd

© Photo by Fabrizio Forte on Unsplash

© Photo by Fabrizio Forte on Unsplash

Article from Issue 229/2019

Charly Kühnast, sys admin columnist for 15 years, is searching for lost microseconds.

Time is the topic I'm focusing on right now. On the one hand, I am of course happy to be celebrating the 25th anniversary of Linux Magazine and the fact that I have been allowed to contribute this column for more than 15 years. On the other hand, I am currently working on configuring my time servers. In the last issue [1], I briefly touched on the topic when we looked at ntpviz, the statistics visualization tool for the Network Time Protocol daemon (ntpd).

How to tune the time server for maximum accuracy using quite simple means was the topic in the October 2017 issue [2]. (Is it really already two years ago? How time flies.) At the time, I picked up a high-precision pulse per second (PPS) signal from GPS satellites. This allowed me to line up ticks received locally or from remote time servers to achieve microsecond accuracy on my server. Apart from scientific applications, nobody really needs that, but it's cool, so it was done.

When I tackled this configuration back in 2017, it was still by a fairly circuitous route. Feeding the PPS signal to ntpd required additional software, which I found on GitHub. It's easier today. The two daemons involved, gpsd and ntpd, work hand in hand on my Debian 10 – and without any extra software.

I only have to tell the GPS daemon in the /etc/default/gpsd configuration file where to find the GPS hardware. In my case, it is connected to a USB port, so I need the following line:


Also the ntpd configuration file is quickly completed with Listing 1. Lines 1 to 4 probably already exist in the file. It is important that one of them ends with the prefer keyword. Lines 6 and 7 include the GPS time signal, but only for statistics. The noselect keyword prevents it from actually being included in the calculations, because it is not very accurate. Lines 9 to 11, on the other hand, provide accuracy and bridge the gap to the PPS signal, which announces the beginning of a new second with high precision.

Listing 1


01 server 0.de.pool.ntp.org prefer
02 server 1.de.pool.ntp.org iburst
03 server 2.de.pool.ntp.org iburst
04 server 3.de.pool.ntp.org iburst
06 server minpoll4 noselect
07 fudge refid GPS
09 server minpoll 4 maxpoll 4
10 fudge flag3 1 refid PPS
11 tos mindist 0.2

A Little Crazy

This allows my time signal to fluctuate by only a few millionths of a second (Figure 1). By the way, the deflections in the right part of the graph were caused by me frivolously moving the GPS antenna on the window sill.

Figure 1: The computer time deviates from the ideal by just +/-2 microseconds. The irregularity starting at eight o'clock is a human-shifted-antenna fault.

Of course, my experiments did not go as smoothly as the story thus far suggests. In the first attempt, my time signal was no more accurate than before, whatever I did. After tearing my hair out for a couple of hours, it turned out that you can buy some GPS hardware that simply ignores the PPS signal. This realization cost me half an afternoon – it seemed to drag on endlessly if you ask me. On the other hand, time flies – but not always, apparently.


  1. "Charly's Column – ntpviz" by Charly Kühnast, Linux Magazine, issue 228, November 2019, p. 26
  2. "Charly's Column – Precision Timekeeping" by Charly Kühnast, Linux Magazine, issue 203, October 2017, http://www.linux-magazine.com/Issues/2017/203/Charly-s-Column-Precise-Timekeeping/(language)/eng-US

The Author

Charly Kühnast manages Unix systems in the data center in the Lower Rhine region of Germany. His responsibilities include ensuring the security and availability of firewalls and the DMZ.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Charly's Column: Ntpd

    The Network Time Protocol keeps Charly up to date at all times. To put all of this punctuality in the service of the common good, he even exports the time signal.

  • Charly's Column – Precise Timekeeping

    After the idea of procuring an atomic clock failed to thrill the other members of Charly's household, our intrepid columnist simply decided to tap into the timekeeping of a GPS satellite. In doing so, he ensured the kind of punctuality at home that only large data centers actually need. Precisely.

  • Charly's Column

    On vacation we may be happy just to check the position of the sun,but computers need a more accurate measure of time. Luckily, there are atomic clocks that can receive time signals by radio and off the Internet.

  • Charly's Birds

    Charly ran a first-generation Rasp Pi for years in the birdhouse in his garden, but the Rasp Pi eventually fell foul of marauding wasps. Now Charly has replaced it with an RPi3 featuring a NoIR cam and motion detection.

  • Charly's Column – Doorbell Pi

    When Charly puts on his headphones at home, he often fails to hear the doorbell. So, he dreamed up a solution with a Raspberry Pi Zero, a noise detector, and a power outlet with a LAN connection.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More