Recommended Free Tools
The reliable way to synchronize a Linux VPS is to run one time daemon, not several. First inspect the services already installed, then choose systemd-timesyncd for a simple SNTP client or chrony for Ubuntu’s current default and more advanced NTP requirements. Configure that daemon’s sources, enable only it, and verify both the system-wide state and daemon-specific tracking.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
Why accurate time matters on a VPS
A VPS uses its system clock for timestamps in logs, scheduled jobs, monitoring, certificates, authentication, databases and distributed services. A clock that drifts or jumps can make events appear out of order, cause time-sensitive credentials to fail, or make incident diagnosis unnecessarily difficult. Synchronization does not mean choosing a timezone: NTP keeps the machine’s clock aligned with reference servers, while the timezone only controls how that time is displayed.
As an Amazon Associate I earn from qualifying purchases.
The commands below use Debian/Ubuntu package names and paths. The exact default daemon depends on the distribution and release. In particular, Ubuntu documents chrony as the default synchronization service starting with Ubuntu 25.10; older releases and other distributions may use systemd-timesyncd or another service.
Prerequisites and the one-daemon rule
- Have root or
sudoaccess. - Know the VPS distribution and release, because package names, defaults and configuration paths can differ.
- Ensure the VPS can resolve the configured NTP hostnames and send outbound UDP traffic on port 123.
- Choose one process to control the system clock. Do not leave chrony and systemd-timesyncd actively synchronizing at the same time.
Installing a second client does not automatically make synchronization more reliable. Two daemons can make competing adjustments and make the status output misleading. Inspect the current state before installing or enabling anything.
#1 Best Overall
Inspect the existing clock and daemons
Run the following as an administrator:
timedatectl status
systemctl status systemd-timesyncd --no-pager
systemctl status chrony --no-pager
timedatectl status displays local, universal and hardware-clock time, the configured timezone, whether the system clock is synchronized, and whether an NTP service is active. For scripts or monitoring, timedatectl show provides machine-readable properties instead of the human-oriented status display.
A service can be installed without being enabled, and a service can be running without having successfully reached a server. Read the daemon-specific output rather than treating an installed package as proof that the clock is synchronized.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
timedatectl set-ntp true enables the systemd time service that timedatectl controls. It does not disable an unrelated time daemon, so using it by itself is not a complete conflict-resolution procedure.
Choose between systemd-timesyncd and chrony
| Consideration | systemd-timesyncd | chrony |
|---|---|---|
| Role | Minimal SNTP client | Full NTP implementation with client and server capabilities |
| Best fit | A basic VPS that only needs to follow upstream time | Ubuntu’s current default, variable network conditions, detailed control, or serving time to other machines |
| Configuration | /etc/systemd/timesyncd.conf, drop-ins, DHCP and per-link settings |
The distribution’s chrony configuration and source files |
| Primary checks | timedatectl, service status and timedatectl timesync-status |
timedatectl, chronyc -N tracking and chronyc sources -v |
Systemd’s documentation describes timesyncd as implementing SNTP only. It steps the clock for a large offset and slowly adjusts smaller differences. Chrony continuously works on drift and offset, which is useful when avoiding disruptive clock jumps is important to log ordering or other services.
For Ubuntu 25.10 and later, start with chrony unless you have a specific reason to use timesyncd. On a simpler installation where only an SNTP client is needed, timesyncd is an appropriate choice when the distribution supplies it.
Option A: configure systemd-timesyncd
Install and enable the service
Use this procedure on a distribution that provides the package. On Ubuntu or another APT-based system:
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #2
sudo apt update
sudo apt install systemd-timesyncd
sudo timedatectl set-ntp true
sudo systemctl enable --now systemd-timesyncd
If chrony or another daemon is currently active, stop and disable that daemon before making timesyncd the sole controller. For example, when chrony is the unwanted service:
sudo systemctl disable --now chrony
Do not run that command if chrony is the daemon you intentionally selected. The objective is one active synchronizer, not a particular service name.
Set NTP servers
Edit the main configuration file or create a drop-in directory and file:
sudo editor /etc/systemd/timesyncd.conf
A minimal configuration is:
[Time]
NTP=ntp.ubuntu.com
FallbackNTP=pool.ntp.org
NTP= and FallbackNTP= accept space-separated lists. Put preferred servers in NTP= and reserve fallback hosts for use when the preferred list cannot be reached. A drop-in under /etc/systemd/timesyncd.conf.d/ can hold local overrides without editing the vendor-supplied file.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Timesyncd can also obtain servers from per-link .network settings and DHCP. Consequently, a server shown in status output may come from the network configuration rather than the two lines above. If you need deterministic sources, inspect those inputs and define the intended list explicitly.
Apply and verify the timesyncd configuration
After changing a file, restart the service so it rereads the configuration:
sudo systemctl restart systemd-timesyncd
Check the high-level state and then the service’s own evidence:
timedatectl status
systemctl status systemd-timesyncd --no-pager
timedatectl timesync-status
A healthy result should show that the system clock is synchronized, an NTP service is active, and a server has been contacted. The timesync-specific view is useful because it identifies the selected server and the current synchronization state, while timedatectl status gives the broader clock and timezone context.
If the service is active but no synchronization is reported, do not keep changing the clock manually. Check name resolution, routing and the VPS firewall first, then inspect the service status again.
Option B: configure chrony
Install and enable chrony
For current Ubuntu releases, install the package and enable its service:
sudo apt update
sudo apt install chrony
sudo systemctl enable --now chrony
Before enabling it, stop an actively running timesyncd instance if that is the daemon you are replacing:
sudo systemctl disable --now systemd-timesyncd
Ubuntu documents that timedatectl steps aside when chrony is installed, preventing the systemd time service from competing with chrony. Still inspect both services after a change, because a package may remain installed even when it is no longer enabled.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #4
Keep the distribution’s source configuration unless you have a reason to change it
Chrony’s source list is distribution-managed. Ubuntu documents source files under /etc/chrony/sources.d/, including its NTS-enabled pools. Retaining those files preserves the release’s intended source selection and security settings. Change them only when your environment requires a particular internal server, a policy-approved pool, or another documented source.
Do not copy a timesyncd configuration into chrony’s files: the directives and configuration formats are different. If you do add a source, make the change in the chrony configuration location used by your release and then restart or reload chrony according to that release’s service instructions.
Verify chrony’s tracking and sources
timedatectl status
chronyc -N tracking
chronyc sources -v
chronyc -N tracking reports chrony’s tracking record. Typical output includes a reference ID, stratum and the UTC time of the current reference measurement. chronyc sources -v shows the source candidates and selection state, which helps distinguish “chrony is running” from “chrony has a usable upstream.”
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Chrony is designed to adjust drift and offset continuously rather than routinely making large, disruptive corrections. That behavior is useful on VPS workloads where a sudden timestamp jump could complicate logs or time-sensitive services, although an initially large error may still require a correction.
How to tell whether synchronization is actually working
Use two levels of evidence:
- System-wide state:
timedatectl statusshould indicate that the system clock is synchronized and an NTP service is active. - Daemon-specific state: use
timedatectl timesync-statusfor timesyncd, orchronyc -N trackingandchronyc sources -vfor chrony.
A running process alone is insufficient. A daemon can be enabled and continuously retrying while DNS, routing or a firewall prevents it from reaching any source. Conversely, a previously synchronized clock can remain close to correct for a while after connectivity is lost, so check the daemon’s current source and tracking information.
For automated checks, timedatectl show is preferable to parsing the formatted status screen. Record the properties your monitoring system needs and alert when synchronization is lost, rather than alerting merely because a package is present.
Best Value
Troubleshoot a VPS that will not synchronize
“NTP service: inactive”
Identify the daemon you intend to use, then enable only that service. If you chose timesyncd, run sudo systemctl enable --now systemd-timesyncd. If you chose chrony, run sudo systemctl enable --now chrony. Recheck timedatectl status and the daemon-specific command after enabling it.
The service is active but the clock is not synchronized
- Read the relevant service status output for connection or configuration errors.
- Confirm that every configured hostname resolves from the VPS.
- Confirm that the VPS has a working route to the internet or to the specified internal NTP server.
- Check egress filtering and host or provider firewalls for outbound UDP port 123.
- Verify that the configured source names are valid and that a fallback source exists where appropriate.
Do not infer UDP reachability from a successful web request: NTP uses UDP 123, and a server can allow HTTP while blocking NTP.
Both daemons appear installed
Installation is not the same as control. Use systemctl status for both services, then disable and stop the one you did not select. On Ubuntu, chrony’s presence causes timedatectl to step aside, but an explicit check is still worthwhile after package changes or a distribution upgrade.
The clock is far from correct after boot
Timesyncd steps the clock for large offsets and gradually adjusts smaller deltas. Chrony normally disciplines drift and offset continuously. Allow the selected daemon to establish a source before judging the result, and inspect its tracking output rather than repeatedly setting the clock by hand. Manual changes can obscure whether the underlying network or source problem has been fixed.
You need a one-shot chrony correction or check
Ubuntu’s time-synchronization documentation describes chronyd -q and chronyd -Q for one-shot operations. Use these only when that behavior fits your maintenance procedure; they are not a replacement for leaving the selected daemon enabled for ongoing synchronization.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesOperational checklist for a Linux VPS
- Run
timedatectl statusbefore changing packages or services. - Check both
systemd-timesyncdandchronyso an existing daemon is not overlooked. - Select one service based on the VPS’s needs and distribution release.
- Configure NTP sources in that service’s documented file or drop-in location.
- Enable and start only the selected daemon.
- Confirm synchronization with
timedatectl statusand the daemon-specific status command. - Verify DNS, routing and outbound UDP 123 if the source cannot be reached.
- Use
timedatectl showwhen a monitoring or automation system needs machine-readable state.
Practical choices by VPS scenario
Small application VPS with no special NTP requirements
Use systemd-timesyncd when it is supplied by the distribution and you want a minimal client. Define preferred and fallback servers, enable timesyncd, and verify the contacted server with timedatectl timesync-status.
Ubuntu 25.10 or newer
Use chrony as the starting point because Ubuntu identifies it as the default from Ubuntu 25.10. Keep the release’s chrony source configuration unless your network policy requires a change, then validate with chronyc -N tracking and chronyc sources -v.
VPS involved in a larger time service
Prefer chrony when you need full NTP behavior, detailed source selection or client/server capabilities. The service still needs reachable upstream sources, and enabling extra capabilities does not remove the requirement to monitor synchronization.
What a successful setup looks like
The final state has one enabled daemon, a reachable source and corroborating evidence from both status layers. timedatectl reports an active NTP service and a synchronized system clock; the selected daemon identifies a source or tracking reference; and the VPS network permits DNS resolution, routing and outbound UDP 123. If any of those pieces is missing, fix that specific layer instead of installing another time client.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




