精华内容
下载资源
问答
  • linux硬件时间修改

    千次阅读 2017-12-26 14:15:43
    用date查看时间,发现和北京时间不一致。然后做时间设置,时间同步,...结论:原来是硬件时间搞的鬼。 1、输入hwclock 查看硬件时间  发现时间就是每次做同步时间的错误时间 2、修改硬件时间 hwclock --set --d

    用date查看时间,发现和北京时间不一致。然后做时间设置,时间同步,定时时间同步。发现最后还是和北京时间不一致。

    就算不同步,linux的系统时间不知道为什么,每过一段时间,就慢几分钟。要过一个月不是慢个一两天了。


    结论:原来是硬件时间搞的鬼。

    1、输入hwclock 查看硬件时间 

    发现时间就是每次做同步时间的错误时间

    2、修改硬件时间

    hwclock --set --date='12/26/2017 14:20';

    3、yum -y install rdate

    安装rdate

    4、rdate -s stdtime.gov.hk

    做时间同步用。stdtime.gov.hk是一个时间同步的服务品

    5、怕后面每过一段时间系统会慢几秒。所以要做个定时任务

    vi /etc/crontab

    加这么一句

    */1 * * * * root rdate -s stdtime.gov.hk




    展开全文
  • linux硬件时间及系统时间

    千次阅读 2012-11-22 17:05:54
    事实上在Linux中有两个时钟系统,分别是系统时间和硬件时间 UTC是协调世界时(Universal Time Coordinated)英文缩写,它比北京时间早8个小时. 二)date date可以打印/设定系统时间. 打印系统时间时,date命令...

    一)概述:


    事实上在Linux中有两个时钟系统,分别是系统时间和硬件时间
    UTC是协调世界时(Universal Time Coordinated)英文缩写,它比北京时间早8个小时.


    二)date
    date可以打印/设定系统时间.
    打印系统时间时,date命令会通过调用clock_gettime函数获取时间,同时会通过localtime文件(时区文件)计算出本地的时间.
    设定系统时间时,date命令会通过读取localtime文件(时区文件)确定本地的时区,再调用clock_settime函数计算出本地的时间.


    三)hwclock
    hwclock可以打印/设定硬件时钟.

    通过strace我们可以跟踪hwclock执行时打开的文件,如下:
    strace -e trace=open hwclock -r 
    open("/etc/ld.so.cache", O_RDONLY)      = 3
    open("/lib/libaudit.so.1", O_RDONLY)    = 3
    open("/lib/libc.so.6", O_RDONLY)        = 3
    open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 4
    open("/dev/rtc", O_RDONLY|O_LARGEFILE)  = 4
    open("/etc/adjtime", O_RDONLY|O_LARGEFILE) = 5
    open("/usr/share/zoneinfo/Universal", O_RDONLY) = 5
    open("/etc/localtime", O_RDONLY)        = 5
    open("/usr/share/locale/locale.alias", O_RDONLY) = 5
    open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/util-linux-ng.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/usr/share/locale/en_US.utf8/LC_MESSAGES/util-linux-ng.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/usr/share/locale/en_US/LC_MESSAGES/util-linux-ng.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/usr/share/locale/en.UTF-8/LC_MESSAGES/util-linux-ng.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/usr/share/locale/en.utf8/LC_MESSAGES/util-linux-ng.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/usr/share/locale/en/LC_MESSAGES/util-linux-ng.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
    Mon 17 Oct 2011 02:29:49 AM CST  -0.567399 seconds

    注:
    1)hwclock首先打开了/dev/rtc,读取硬件时钟.
    2)打开/etc/adjtime文件,通过先前的记录来估算硬件时钟的偏差,并用来校正目前的时间.
    3)打开/etc/localtime时区文件,将硬件时间转换为当前时区对映的时间.

    下面介绍hwclock常用的几个参数:
    -s(--hctosys)从硬件时钟读取时间更新到系统时钟.
    -w(--systohc)将系统时钟时间写入硬件时钟.
    --debug显示hwclock执行时详细的信息,例如:
    hwclock -r --debug
    hwclock from util-linux-ng 2.17.2
    Using /dev interface to clock.
    Last drift adjustment done at 1318866683 seconds after 1969
    Last calibration done at 1318866683 seconds after 1969
    Hardware clock is on UTC time
    Assuming hardware clock is kept in UTC time.
    Waiting for clock tick...
    ...got clock tick
    Time read from Hardware Clock: 2011/10/17 15:51:32
    Hw clock time : 2011/10/17 15:51:32 = 1318866692 seconds since 1969
    Mon 17 Oct 2011 11:51:32 PM CST  -0.117361 seconds

    --set --date=<日期与时间>设定硬件时钟,如下:
    读取硬件时间,现在是11:54(PM)
    hwclock -r
    Mon 17 Oct 2011 11:54:47 PM CST  -0.003885 seconds

    设定硬件时间为12:54(PM)
    hwclock --set --date=12:54

    再次读取硬件时间,发现时间已经变为12:54(PM)
    hwclock -r
    Mon 17 Oct 2011 12:54:03 PM CST  -0.027942 seconds

    注:
    最后要说明的是hwclock输出的是带有AM/PM表示方式的硬件时间.
    我们可以通过hwclock --localtime将硬件时间转换为utc时间.
    如下:
    hwclock --localtime
    Mon 17 Oct 2011 05:00:49 PM CST  -0.478863 seconds

    hwclock 
    Tue 18 Oct 2011 01:00:52 AM CST  -0.821415 seconds



    四)AM与PM
    AM是上午,PM是下午,例如:
    01:30:56 AM表示24小时制的凌晨01:30:56
    01:30:56 PM表示24小时制的下午13:30:56

    我们可以用date命令在获取系统时间时,是AM还是PM,如下:
    date +%r
    01:34:17 AM



    五)时区与时间
    只有设定了正确时区的前提下,才能正确的得出本地的时间.
    例如:
    如果我们在中国大陆,但选择了美国的时区,通过ntpdate同步时,也得到的是美国当前时间.
    时间文件是/etc/localtime,/usr/share/zoneinfo/目录下存放了所有的时区文件.

    我们使用的中国上海的时区文件,文件格式如下:
    file /etc/localtime 
    /etc/localtime: timezone data, version 2, 3 gmt time flags, 3 std time flags, no leap seconds, 17 transition times, 3 abbreviation chars

    有的人说也要设置/etc/sysconfig/clock文件,实际上这不是必须的,如下:
    more /etc/sysconfig/clock 
    # The time zone of the system is defined by the contents of /etc/localtime.
    # This file is only for evaluation by system-config-date, do not rely on its
    # contents elsewhere.
    ZONE="Asia/Shanghai"



    六)RTC
    Real time clock(RTC):实时时钟是用来持久存放系统时间的设备,即便系统关闭后,它也可以靠主板上的微电池提供的电力保持系统定时.

    查看rtc的详细信息,如下:
    cat /proc/driver/rtc 
    rtc_time        : 17:16:08
    rtc_date        : 2011-10-16
    alrm_time       : 17:12:39
    alrm_date       : ****-**-**
    alarm_IRQ       : no
    alrm_pending    : no
    24hr            : yes
    periodic_IRQ    : no
    update_IRQ      : no
    HPET_emulated   : no
    DST_enable      : no
    periodic_freq   : 1024
    batt_status     : okay
    注:这里的rtc_time时间是utc时间.

    ls -l /sys/class/rtc/rtc0/
    total 0
    -r--r--r--. 1 root root 4096 Oct 18 00:00 date
    -r--r--r--. 1 root root 4096 Oct 18 00:00 dev
    lrwxrwxrwx. 1 root root    0 Oct 18 00:00 device -> ../../../00:04
    -r--r--r--. 1 root root 4096 Oct 18  2011 hctosys
    -rw-r--r--. 1 root root 4096 Oct 18 00:00 max_user_freq
    -r--r--r--. 1 root root 4096 Oct 18 00:00 name
    drwxr-xr-x. 2 root root    0 Oct 18 00:00 power
    -r--r--r--. 1 root root 4096 Oct 18 00:00 since_epoch
    lrwxrwxrwx. 1 root root    0 Oct 18  2011 subsystem -> ../../../../../class/rtc
    -r--r--r--. 1 root root 4096 Oct 18 00:00 time
    -rw-r--r--. 1 root root 4096 Oct 18  2011 uevent
    -rw-r--r--. 1 root root 4096 Oct 18 00:00 wakealarm

    从rtc中获取的日期信息
    cat /sys/class/rtc/rtc0/date
    2011-10-17

    从rtc中获取的时间信息
    cat /sys/class/rtc/rtc0/time 
    16:27:56

    rtc设备的主设备号和从设备号
    cat /sys/class/rtc/rtc0/dev
    254:0

    非特权用户可以从这个rtc中请求的最大中断率
    cat /sys/class/rtc/rtc0/max_user_freq 
    64

    从1970-01-01 00:00:00开始的时间累计(秒数)
    cat /sys/class/rtc/rtc0/since_epoch 
    1318868801
    注:可以用date +%s来获取系统的时间.


    七)总结:
    我们可以通过date命令获取系统的时间,系统时间是由可编程定时/计数器产生的输出脉冲触发中断而产生的.每一个输出脉冲也叫做一个时间滴答.
    在操作系统中可以通过修改grub中的内核引导参数(tick_divider)来调整时钟中断频率,例如:
    我们将tick_divider=10,也就是100Hz,那么每秒就有100次时间滴答,每个时钟滴答就是10毫秒(10ms).相应的系统时间就会每10ms增1.
    内核通过通过变量jiffy来记录系统启动后产生的时间滴答的总数.
    tick_divider可使用下列值:
    2=500 Hz
    4=250 Hz
    5=200 Hz
    8=125 Hz
    10= 100 Hz
    只限于X86和X86_64架构,不支持Xen.
    展开全文
  • linux硬件时间的调整

    千次阅读 2008-01-23 10:21:00
    转贴自:...启动后时间用的是UTC。使用hwclock调整硬件时间出错,错误信息:select() to /dev/rtc to wait for clock tick timed out 解决: 首先使用date设置正确
    转贴自:http://blog.csdn.net/baymoon/archive/2006/12/19/1449191.aspx

    DELL的机器,装了Debian Sarge。启动后时间用的是UTC。使用hwclock调整硬件时间出错,错误信息:select() to /dev/rtc to wait for clock tick timed out
    解决:
    首先使用date设置正确的时间(如果你的时间设置也不对的话,首先得调整时区).
    调整后,使用date命令查看是否正确:
    shell$date
    Fri Apr 21 18:47:09 CST 2006
    首先查看一下硬件时钟:
    shell#hwclock –show
    然后使用hwclock将硬件时间调整为与系统时间一致:
    shell#hwclock –directisa –systohc
    这时间再查看一下硬件时钟是否已经调整过来了?
    shell#hwclock –show
    Fri 21 Apr 2006 06:47:25 PM CST -0.764909 seconds
    请注意–directisa参数,如果出现文中开头的错误信息,则必须加上此参数,表示直接以I/O指令存取硬件时间而不通过/dev/rtc设备来存取。
    如果您的硬件时间是正确的,要将系统时钟调整的与硬件时钟一致,则只需要将–systohc换成–hctosys即可。
    hwclock的参数详解:
    语法:hwclock [–adjust][–debug][–directisa][–hctosys][–show][–systohc][–test] [–utc][–version][–set –date=<日期与时间>]
    参数:
    –adjust  hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
    –debug  显示hwclock执行时详细的信息。
    –directisa  hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
    –hctosys  将系统时钟调整为与目前的硬件时钟一致。
    –set –date=<日期与时间>  设定硬件时钟。
    –show  显示硬件时钟的时间与日期。
    –systohc  将硬件时钟调整为与目前的系统时钟一致。
    –test  仅测试程序,而不会实际更改硬件时钟。
    –utc  若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
    –version  显示版本信息。
    或许每次都要加上–directisa比较麻烦,因此可以用以下方法作一些改变:
    shell#cd /sbin
    shell#mv hwclock hwclock.ori
    shell#cat > hwclock <
    #!/bin/bash
    /sbin/hwclock.ori –directisa $@
    EOF
    shell#chmod +x hwclock 

    reference:
    http://www.freebug.org/blog/ 
    展开全文
  • linux硬件时间的调整

    千次阅读 2006-12-19 17:17:00
    使用hwclock调整硬件时间出错,错误信息:select() to /dev/rtc to wait for clock tick timed out 解决: 首先使用date设置正确的时间(如果你的时间设置也不对的话,首先得调整时区). 调整后,使用date命令查看是否...
    DELL的机器,装了Debian Sarge。启动后时间用的是UTC。使用hwclock调整硬件时间出错,错误信息:select() to /dev/rtc to wait for clock tick timed out
    解决:
    首先使用date设置正确的时间(如果你的时间设置也不对的话,首先得调整时区).
    调整后,使用date命令查看是否正确:
    shell$date
    Fri Apr 21 18:47:09 CST 2006
    首先查看一下硬件时钟:
    shell#hwclock –show
    然后使用hwclock将硬件时间调整为与系统时间一致:
    shell#hwclock –directisa –systohc
    这时间再查看一下硬件时钟是否已经调整过来了?
    shell#hwclock –show
    Fri 21 Apr 2006 06:47:25 PM CST -0.764909 seconds
    请注意–directisa参数,如果出现文中开头的错误信息,则必须加上此参数,表示直接以I/O指令存取硬件时间而不通过/dev/rtc设备来存取。
    如果您的硬件时间是正确的,要将系统时钟调整的与硬件时钟一致,则只需要将–systohc换成–hctosys即可。
    hwclock的参数详解:
    语法:hwclock [–adjust][–debug][–directisa][–hctosys][–show][–systohc][–test] [–utc][–version][–set –date=<日期与时间>]
    参数:
    –adjust  hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
    –debug  显示hwclock执行时详细的信息。
    –directisa  hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
    –hctosys  将系统时钟调整为与目前的硬件时钟一致。
    –set –date=<日期与时间>  设定硬件时钟。
    –show  显示硬件时钟的时间与日期。
    –systohc  将硬件时钟调整为与目前的系统时钟一致。
    –test  仅测试程序,而不会实际更改硬件时钟。
    –utc  若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
    –version  显示版本信息。
    或许每次都要加上–directisa比较麻烦,因此可以用以下方法作一些改变:
    shell#cd /sbin
    shell#mv hwclock hwclock.ori
    shell#cat > hwclock <
    #!/bin/bash
    /sbin/hwclock.ori –directisa $@
    EOF
    shell#chmod +x hwclock 

    reference:
    http://www.freebug.org/blog/
    展开全文
  • Linux系统时间与硬件时间及时间同步

    万次阅读 2018-06-26 11:08:41
    Linux系统有系统时间和硬件时间之分:系统时间: 一般说来就是我们执行 date命令看到的时间,linux系统下所有的时间调用(除了直接访问硬件时间的命令)都是使用的这个时间。硬件时间:主板上BIOS中的时间,由主板电池...
  • Linux 系统时间和硬件时间

    千次阅读 2015-06-15 14:23:55
    今天在调试时发现工作产品板上的时间不对,使用date设置了时间,重启后发现时间还是不对,问了一下度娘,她这么说:  Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。...
  • 修改linux 系统时间和硬件时间

    万次阅读 2018-01-10 20:50:10
    linux系统时钟有两个,一个是硬件时钟,即BIOS时间,另一个是系统时钟...因此,想要永久修改linux时间,就需要修改硬件时间。最简单的方法是:从系统时钟同步硬件时间 date命令将日期设置为2014年6月18日  ---- dat
  • linux 系统时间和硬件时间设置

    千次阅读 2015-04-15 16:24:40
    1.简介 Linux中有硬件时钟与系统时钟两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。这个时间有主板上电池供电维持,如果主板电池电量耗尽,如果断电的话,恢复到出厂设置。系统...
  • Linux系统时间和硬件时间修改

    千次阅读 2019-06-10 17:15:15
    linux系统时钟有两个,一个是硬件时钟,即BIOS时间,就是我们进行CMOS设置时看到的时间,另一个是系统时钟,是linux系统Kernel时间。当Linux启动时,系统Kernel会去读取硬件时钟的设置,然后系统时钟就会独立于硬件...
  • 另一个是系统时间,是Linux的Kernel内核时间。当Linux启动时,系统Kernel会去读取硬件时钟设置,系统时钟会独立于硬件运作。所以会出现硬件时钟和系统时间不一致的情况。 1. 使用date指令查看系统时间。 ...
  • 背景说明 我的linux板卡是不联网的,但是MCU...所以我决定通过MCU将自己的RTC时间通过UART传递给linux板卡,linux板卡接收到时间之后,在添加一定的延时来实现时间的基本同步。当然如果想更好的通过可以尝试数据互传
  • linux系统时间和硬件时间

    千次阅读 2017-04-19 12:10:37
     在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。  查看Lin
  • linux修改系统硬件时间

    千次阅读 2018-08-28 20:32:07
    使用CentOS,遇到本地时间对不上,直接敲命令:date -s "2017-10-21 15:15:15"是立即生效了,但是重启后,系统时间还是原来的。 修改了其一是没有办法奏效,必须两者...3.如果硬件时间是对不上,那就...
  • Linux的系统时间和硬件时间

    千次阅读 2015-01-21 13:57:31
    Linux系统中时间分为系统时间和硬件时间: 系统时间是指Linux内核中的时间; 硬件时间是指主板上的硬件时钟所计算的时间。不同的时间,设置的方法也不一样。 详细说明如下: 1. “系统时间”与“硬件时间”  ...
  • LInux系统时间和硬件时间

    千次阅读 2008-06-29 12:17:00
    一直以来都是使用 date 命令设置Linux服务器的系统时间,向来也没发现有什么问题。...Linux却是将时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时间是指当前Linux Kernel中
  • linux的系统时间和硬件时间

    千次阅读 2019-03-27 17:34:30
    linux时钟概述(https://blog.csdn.net/yuki5233/article/details/82220078)linux系统有两个时钟:一个是硬件时钟,即BIOS时间;另一个是系统时钟,是linux系统Kernel(内核)时间。在linux系统上程序运行时读取的...
  • /sbin/hwclock 用于同步硬件时钟系统的时间Linux操作系统时间. 查看当前硬件时钟系统时间的命令为 /sbin/hwclock --show 将硬件时钟系统时间同步到 Linux操作系统时间的命令为 /sbin/hwclock --...
  • linux系统有两个时钟:一个是硬件时钟,即BIOS时间;另一个是系统时钟,是linux系统Kernel(内核)时间。 在linux系统上程序运行时读取的时间都是系统Kernel(内核)时间。 每次Linux启动时,系统Kernel(内核)会先...
  • 手动校正 Linux 系统时间并把系统时间写入硬件,系统启动时自动校正时间并把时间写入硬件。 下面以 CentOS 6.5 (32位)系统为例,设置系统时间:手动校正 Linux 系统时间并把时间写入硬件,系统启动时自动校正时间...
  • 一、了解hwclock命令的参数 用法: hwclock [功能] [选项...] 功能 解释 -h, --help ... 读取硬件时钟并打印结果 --set 将 RTC 设置为 --date 指...
  • Linux时间(系统时间和硬件时间

    千次阅读 2018-04-08 17:43:34
    注释:更多修改方法:date --help2)查看硬件时间hwclock2.1)从当前系统时间设置硬件时钟hwclock --systohc2.2)从硬件时钟设置系统时间hwclock --hctosys3)查看当前时间date注释:更多需i该方法:hwclock --help...
  • linux系统时间硬件时钟时间 FAQ

    千次阅读 2017-05-11 16:30:18
    系统时间是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的那个主板硬件时钟,这个时钟可以在BIOS中进行设置。 在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和...
  • [213]linux修改硬件时间和系统时间

    千次阅读 2018-07-02 08:57:55
    查看系统时间 ...查看硬件时间 [root@localhost ~]# hwclock --show Tue 13 Jun 2017 02:11:12 AM CST -0.848845 seconds 可以看出系统时间比硬件时间快,系统时间是准确的 假如系统时间和硬件...
  • 1.修改系统时间:date命令  1)修改系统时间:  date --set "10:18:30"  2)修改系统日期+时间: ...2.修改硬件时间:用clock 命令  clock --set --date="2015-05-08 10:19:30" 3.同步系统时间/硬件
  • Linux系统下查看系统时间和硬件时间

    万次阅读 2018-06-18 22:03:50
    Linux系统下查看系统时间和硬件时间 1.具体命令使用如下: 查看当前系统时间 [root@littlelawson hbase-1.4.0]# date Mon Jun 18 10:36:45 PDT 2018 设置系统时间 [root@littlelawson hbase-1.4.0]# date -s 21...
  • Linux系统时间(软件时间和硬件时间)

    千次阅读 2018-11-23 11:12:59
  • linux修改系统和硬件时间

    千次阅读 2015-11-01 13:10:40
    date -s "2015-11-01T13:05:30" hwclock --systohc
  • 先校正Linux系统时间: ntpdate 0.cn.pool.ntp.org 13 Nov 18:27:41 ntpdate[7167]: step time server 85.199.214.101 offset 340324836.877469 sec date Mon Nov 13 18:27:47 CST 2017 查看硬件时钟: hwclock --...
  • linux系统时钟有两个,一个是硬件时钟,即BIOS时间,就是我们进行CMOS设置时看到的时间,另一个是系统时钟,是linux系统Kernel时间。当Linux启动时,系统Kernel会去读取硬件时钟的设置,然后系统时钟就会独立于硬件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 293,898
精华内容 117,559
关键字:

linux硬件时间

linux 订阅