在 CentOS 系统中发现时间戳(系统时间)变慢 / 不准确,通常不是“时钟本身变慢”,而是以下几类原因导致的。下面按最常见 → 较少见的顺序说明,并给出排查和解决办法。
CentOS 默认不会自动校准时间,如果长时间不关机,系统时钟会逐渐偏移。
timedatectl
看这两行:
NTP enabled: no
NTP synchronized: no
# CentOS 7/8
yum install -y chrony
systemctl enable --now chronyd
# 或传统方式
yum install -y ntp
systemctl enable --now ntpd
查看同步状态:
chronyc tracking
虚拟机的时钟依赖宿主机:
✅ 解决:
chrony 或 vmware-tools某些虚拟机会用错误时钟源,导致时间漂移。
查看:
cat /sys/devices/system/clocksource/clocksource0/current_clocksource
推荐:
kvm-clocktsc 或 acpi_pmdate # 系统时间
hwclock # 硬件时间
若相差很多:
hwclock --systohc
CentOS 默认:
timedatectl set-local-rtc 0
在老服务器或笔记本上:
# 关闭节能
cpupower frequency-set -g performance
常见情况:
date -s/etc/localtimedocker run -v /etc/localtime:/etc/localtime ...
timedatectl
如果是:
Time zone: UTC
但你在国内,会误以为慢了 8 小时。
修正:
timedatectl set-timezone Asia/Shanghai
老服务器 CMOS 电池没电:
✅ 只能换主板电池
timedatectl
date
hwclock
chronyc tracking
如果你愿意,可以告诉我:
我可以给你更精确的解决方案。