How to configure ntpd to sync time more frequently?

I need to set ntpd to sync time as often as possible, how to do that?

UPD I need to make ntpd adjust system clock more frequently, not poll servers. It's necessary because system clock of my virtual PC drifts too much
maxpoll doesn't seem to change anything, because I set minpoll/maxpoll to 4 and 5, and time adjustments seem to be made only once in several minutes


The iburst option does several checks quickly as soon as the daemon is started and whenever the server is unreachable if you have that in your configuration. The burst option does several checks quickly whenever the server is reachable.

By default ntpd then follows an exponential backoff where the time between checks progressively increases, starting at 64 seconds and doubling each time, up to a maximum of 1024 seconds.

The maxpoll option allows you to set the maximum value higher or lower. This value is the power of 2 in seconds between checks, so for 1024 seconds, maxpoll is 10. There is also minpoll which is 6 by default and can be lowered to 4.

If you want anything more frequent than every 16 seconds you will probably need to use ntpdate instead of ntpd and run your own loop.

Please don't aim this at public time servers without contacting the maintainers first.


ntpd doesn't sync time periodically the way you think it does, see here for more information (read the whole thing, it's all important. Short version: ntpd syncs the time and tells the system how fast it's drifting away from "true" time, the system then adjusts its clock frequency to properly track "true" time. Within a day most systems are tracking to within 5ms of the reference).

Absent an EXCELLENT reason you should not be mucking about with the way ntpd adjusts and disciplines your clock - these algorithms have been thoroughly tested and debugged, and given an adequate time reference will produce very small error rates.
Frankly if you have such an EXCELLENT reason you already know what it is, and you have a substantial budget to hire an expert to make these modifications for you ("you wouldn't be asking this question if you really needed this").

If you require better time accuracy than what ntpd can get you on its own synchronizing against a machine over the network you need a specialized precision hardware reference clock attached locally to the machine. High-Frequency trading and picosecond-critical scientific experiments are about the only things I can think of that require this kind of precision.


Get a GPS time receiver if you need highly accurate time. It'll check your clock every second. If you don't want to spend much, you can get a Garmin 18x LVC on eBay or Amazon for <$100 and wire it to a COM port. Directions around the Internet, but does require a minimum level of wiring skill. Complete solutions are available that cost more, if you're not into DIY projects.