赞
踩
一、参考内容
https://www.cnblogs.com/aozhejin/p/15978539.html
二、两者之间的关系
一般情况下都会选择芯片上最高精度的定时器作为系统时间的定时基准,以避免在系统运行较长时间后出现大的时间偏移。特点是掉电后不保存。
所以一旦你重启机器后,那么系统需要重新从RTC上重新获取时间,保存到系统内核文件中。
RTC(real_time clock)驱动程序,可以在E:\linux内核\linux-2.6.0\linux-2.6.0\drivers\char\rtc.c中找到。
设备接口就是 /dev/rtc, 他负责跟rtc打交道,并读取rtc中维护的时间.
它是一个从系统定时器中独立出来的虚拟设备,用于设置系统时钟,提供报警器或周期性的定时器.
那么系统时间一直运行吗? 显然在操作系统关闭或重启期间,服务器宕机期间,整个服务器的时间就依赖于RTC芯片。
从这我们看出linux系统时间和RTC时间是两套独立的计时体系,但它们之间又是相互依存的:
1)刚安装操作系统后,若在安装过程不设置系统时间,那么默认的系统时间就是从服务器的RTC芯片中获取当前的硬件时间;
2)在linux操作系统中,一旦修改系统时间后,又重启或关闭Linux系统,则OS通常会将系统时间更新到RTC;
3)在操作系统再次启动的时候,Linux OS则会再次从RTC中获取当前的时间。
服务器异常下电后,待操作系统重新启动后,发现系统时间发生了跳变?
其原因通常是:修改了操作系统时间,在服务器异常下电后,操作系统并未及时将修改后的时间更新到RTC,导致操作系统重新启动后,
就会从RTC芯片中加载了之前“老”的时间,从而在操作系统层面体现为“时间跳变”
三、设置系统时间,并同步到RTC时间,下次系统开机时间保存的步骤
1、设置系统时间
date -s "20240318 10:43:00"
设置系统时间为2024年3月18日,10:43
2、同步到RTC时间
hwclock --systohc --localtime
3、RTC要单独使用电池供电
4、这样就可以了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。