慢有两种情况,一个是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.04-08:55:40 && hwclock -w&& hwclock -r
//上面这条语句不成功的原因是date 不支持上述类型的字符串,你可以date -h 看看,改改字符串.