Chrony vs ntpd vs systemd-timesyncd
Which NTP client should you use in 2026? A sysadmin's guide.
TL;DR — Quick Recommendation
| Use Case | Recommendation | Why |
|---|---|---|
| Production servers | chrony | Full NTP + NTS, fast convergence, server mode |
| Desktop Linux | chrony or timesyncd | chrony for best accuracy, timesyncd if already installed |
| Containers / minimal VMs | timesyncd | Smallest footprint, no config needed |
| Security-critical | chrony + NTS | Only mature NTS implementation |
| NTP server / pool | chrony | Can serve time, handle hardware refclocks |
| Memory-safe alternative | ntpd-rs | Rust-based, NTS support, production-ready since 2024 |
Feature Comparison Table
| Feature | chrony | ntpd (ref) | timesyncd | ntpd-rs |
|---|---|---|---|---|
| NTP client | Yes | Yes | Yes (SNTP) | Yes |
| NTP server | Yes | Yes | No | Yes |
| NTS support | Yes (v4.0+) | No | No | Yes |
| Hardware refclocks | Yes (PPS, SHM, SOCK) | Yes | No | No |
| Leap smearing | Yes | Limited | No | Yes |
| Fast initial sync | Seconds | Minutes | Seconds | Seconds |
| Intermittent network | Excellent | Poor | OK | Good |
| Memory safety | C (audited) | C (legacy) | C (systemd) | Rust |
| Monitoring CLI | chronyc |
ntpq |
timedatectl |
ntp-ctl |
| Active development | Yes | Minimal | Yes | Yes |
| Default on | RHEL, Fedora, CentOS, Arch | Legacy systems | Ubuntu, Debian | — |
Chrony: The Modern Standard
Chrony is the recommended NTP client for virtually all modern Linux deployments. Written by Miroslav Lichvar (Red Hat), it was designed from the ground up to handle real-world conditions that ntpd struggles with.
Key Advantages
- Fast convergence — Syncs within seconds of startup, vs minutes for ntpd
- NTS support — Cryptographic authentication via TLS 1.3 (since v4.0)
- Intermittent connectivity — Handles laptops, mobile devices, and unstable networks gracefully
- VM-friendly — Handles clock jumps from live migration and snapshot restore
- Lower resource usage — Less CPU and memory than ntpd
Minimal Configuration
Essential Commands
ntpd: The Legacy Reference
The original NTP daemon, developed by David L. Mills starting in 1985. While historically important, it is now considered legacy software.
Still Using ntpd? Check Your Sync
systemd-timesyncd: The Lightweight Option
Built into systemd, systemd-timesyncd is a minimal SNTP client. It handles basic time synchronization with almost zero configuration.
When It's Enough
- Desktop systems that just need "correct enough" time
- Containers where minimal footprint matters
- Systems where installing additional packages is undesirable
When It's Not Enough
- You need to serve time to other machines
- You need NTS (authenticated time)
- You need sub-millisecond accuracy
- You need hardware reference clock support
Configuration
ntpd-rs: The Rust Newcomer
ntpd-rs is a modern NTP implementation written in Rust by the Trifecta Tech Foundation, funded by NLnet and ISRG (the organization behind Let's Encrypt). It reached v1.0 in 2024.
Key Features
- Memory safety — Rust eliminates entire categories of security vulnerabilities
- NTS support — Built-in from the start
- Modern architecture — Async I/O, structured logging
- NTP server mode — Can serve time to clients
Installation
Migrating from ntpd to chrony
Step 1: Note your current servers
Step 2: Install chrony and remove ntpd
Step 3: Configure chrony
Step 4: Start and verify
Frequently Asked Questions
Should I use chrony or ntpd?
Use chrony. It converges faster, handles intermittent connectivity better, supports NTS, and uses fewer resources. ntpd is legacy software.
What is the difference between chrony and systemd-timesyncd?
systemd-timesyncd is a lightweight SNTP client for basic sync. chrony is a full NTP implementation that can serve time, handle hardware refclocks, support NTS, and provide sub-millisecond accuracy. Use chrony for servers, timesyncd for minimal desktops/containers.
Does ntpd support NTS?
No. The reference ntpd does not support NTS. Only chrony (v4.0+), NTPsec, and ntpd-rs support NTS. If you need authenticated time, switch to one of these.
What is ntpd-rs?
A modern NTP implementation written in Rust by Trifecta Tech Foundation. Memory-safe, NTS-capable, and production-ready since 2024. Good for security-sensitive environments that don't need hardware refclocks.
Can I run chrony and timesyncd at the same time?
No. Only one NTP service should manage the clock. When installing chrony, it automatically disables timesyncd. Verify with timedatectl status.
Verify Your NTP Client
After configuring or migrating, verify your sync is working correctly:
See also: Online NTP tester · RDEM NTS infrastructure