慢有两种情况,一个是linux系统中的时间慢,一种是RTC芯片中的时间慢
如果是RTC芯片中的时间慢,则是硬件的问题.你要时间精确,就需要晶振准确。
在启动时,它靠读取硬件时钟获得计时起点,而不是靠记忆计时。
启动后,会在计时起点上加jiffies,生成系统时钟.
如果是linux系统中的时间慢,则有下面几种解决方法
1. 如果有网络,则用ntpd或者其他网络同步时间的命令来同步.
2. 定时将RTC中的时间写系统中.定时的机制依靠crond
##方案1
sudo ntpdate 210.72.145.44
##方案2
echo "*/1 * * * * root hwclock -s" >> /etc/crontab
意思是在/etc/crontab中添加一条语句,这句语句的意思是每隔一分钟以root的身份执行一次 hwclock -s
##方案3
如果内核中的时间慢的离谱,就需要改源码了.
##时间设置方案
date -s 2017.05.03-09:55:40 && hwclock -w&& hwclock -r
//上面这条语句不成功的原因是date 不支持上述类型的字符串,你可以date -h 看看,改改字符串
参考文档
Linux时间变慢解决方法
linux系统时钟变慢的思考和解决方案
Linux hwclock命令参数及用法详解–Linux显示/设置硬件时钟命令
Linux系统时间和硬件时间设置
Linux配置定时,使用 crontab -e 与 直接编辑 /etc/crontab 的区别
Linux定时任务Crontab命令详解
时区
sudo ln /usr/share/zoneinfo/Asia/Shanghai -sf /etc/localtime