A number of our Windows workstations, running ntpd, simply cannot keep time. Our Linux workstations and servers running the same ntpd config don't have this problem, they can stay within +/- 5ms of skew. The Windows hosts easily drift to seconds and sometimes minutes apart. This is a problem for us.

The only common factor we have been able to isolate is that the hosts that can't keep time are running Windows.

Is there something impossible about what we're trying to do?

EDIT: yes, the Windows workstations are joined to a domain, but ntpd is not synchronizing time against the DCs (the DCs are synchronizing just fine against our ntp sources, FWIW)

EDIT: yes, we do need millisecond accuracy

EDIT: yes, the Windows Time service (W32Time?) is disabled

EDIT: we're running the ntp.org Windows ntpd

  • Do you have a domain? Are any of your DCs virtualized? – Chris S Jun 3 '10 at 15:48
  • 1
    Is this with the built in Windows Time Provider, which can emulate NTP, or with an open-source/third-party NTPD build? – sysadmin1138 Jun 3 '10 at 15:48
  • W32Time service is horribly inacurate but you say you are running ntpd. Are you sure that you've disabled W32Time, otherwise that one would still handle time synchronization against your DC – jishi Jun 3 '10 at 15:54
  • So, which vendor's NTPD are you running on the Windows machines? – mfinni Jun 3 '10 at 16:35
  • Fully describe the environment. What version? Did you build it yourself from source, or use the packaged version from meinberg.de ? What options are you using? Have you tried the TS Monitor (meinberg.de/english/sw/time-server-monitor.htm) from meinberg to see if you can find out what's going on? What NTP sources are you using? I'm asking a lot of questions because you've left a lot out of your question. Although the simple answer is "yes, this can be done", because ntp.org says so. in 1993, they had 5 microsecond accuracy (eecis.udel.edu/~mills/ntp/html/hints/winnt.html) – mfinni Jun 3 '10 at 17:47

here is the official answer

  • Well, it's nice to know what Microsoft's position is, although we're not using the Windows Time Service. – mbac32768 Jun 3 '10 at 16:18
  • sorry didn't fully read your question! what ntp software are you using. – tony roth Jun 3 '10 at 16:20

It is worth noting that if you are using the Windows system clock to gauge time, its resolution is typically limited to 10 or 15 milliseconds (i.e. it only updates once every 10 or 15 milliseconds) in most cases.

  • Or more specifically, Windows has a variety of timers and if the developer of the NTPD in use picked the wrong one, this could very simply be the problem. – sysadmin1138 Jun 3 '10 at 22:03

I can't say for certain, but it sounds like the Windows NTP daemon is horribly broken (at least in your case). Have you tried disabling it and running a third-party NTP daemon?

±5ms is a pretty tight tolerance IMHO (though I'm not doing anything time-critical so I'm happy if my clocks are on the same second), but NTP should easiy be able to keep you within a second if everything is working correctly. The only exception would be if your local clock is horribly broken (and by that I mean wild swings and almost NO frequency stability -- Modern NTP daemons are very good at adjusting for some sloppiness in the local clock).

  • yeah, we can't isolate the clocks as a factor since the same workstations running Linux keep time just fine : / – mbac32768 Jun 3 '10 at 16:01

If you have a domain, the workstations should pull time from the Domain controllers. So if you have the domain controllers setup to a reliable Internet clock source (http://www.pool.ntp.org/) then the clients should stay in time.

To get your domain controllers setup for a external Internet clock, check out: http://support.microsoft.com/kb/816042 and skip down to the section on "Configuring the Windows Time service to use an external time source"

For client machines use Group Policy to adjust how often your clients check the domain for time: Computer Configuration: Administrative Templates:System:Windows Time Service:Global Configuration Settings -> Update Interval (in seconds).

Hope this was helpful. Good Luck!


This works correctly out of the box, unless you break it. The domain members use the Windows Time Service to sync against the PDC Emulator FSMO role-holder, which you want syncing against an external NTP source.

If you disabled the way it works, and time is skewing, then you did something wrong. You can fix it with your tools, or you can use the things the system provides to you.

.edit - whoops. I misread your question as +/- 5 minutes, not milliseconds. My apologies. If you were seeing more than 5-minute skew, then you were doing it wrong. If you need under 5 millisecond sync, then yeah, you'll need third-party software and I don't know what kind of tweaking it will require.


Yes. It can. My company wrote software that will synchronize clocks more accurate than that. Sadly I can't open source it. If it is a 32bit windows box, than you can use Automachron for this, and I can confirm it works.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.