AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 564843
Accepted
Banjer
Banjer
Asked: 2014-01-04 05:34:54 +0800 CST2014-01-04 05:34:54 +0800 CST 2014-01-04 05:34:54 +0800 CST

日志中的内核警告:set_rtc_mmss 无法从 0 更新到 58

  • 772

我一直在看到一堆这样的日志消息

Jan 3 00: 58: 57 foo kernel: set_rtc_mmss: can't update from 0 to 58

它们发生在 VMware 上运行的 CentOS 6.4 虚拟机上。我知道这与来宾操作系统上未正确设置硬件时钟有关。我发现这个命令将硬件时钟设置为当前系统时间:

sudo hwclock --systohc

这是虚拟机的正确设置吗?另外,在哪里可以设置它以使其持久化?在内核启动参数?我希望新配置的虚拟机没有这个问题。

更新 1

按照要求:

me@foo:~> ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 LOCAL(0)        .LOCL.          10 l   43   64  377    0.000    0.000   0.000
+dtc-nist01.ntp. .ACTS.           1 u  174 1024  377    3.311   -8.554   0.497
*nist1-nj.ustimi .ACTS.           1 u  205 1024  377    6.737    3.775   0.433
+nist1-pa.ustimi .ACTS.           1 u   55 1024  377    8.610    4.688   0.337

我看到这个虚拟机上的 vmwaretools 已经过时了。也许我用于管理 vmwaretools 安装的 puppet 模块没有正确安装它。我去看看然后回复你。

更新 2

是的,vmware tools 已安装并且是最新版本。

me@foo:~> ps aux | grep vmtools
root     56021  0.0  0.1  59508  4156 ?        S    Jan09   3:29 /usr/sbin/vmtoolsd

更新 3

我尝试在虚拟机上启用“与主机同步访客时间”:

me@foo:~> vmware-toolbox-cmd timesync status
Disabled
me@foo:~> vmware-toolbox-cmd timesync enable
me@foo:~> vmware-toolbox-cmd timesync status
Enabled

但我仍然收到这些消息。事实上,date现在hwclock --show相隔几分钟,而过去它们很紧。

过去,较旧的 SLES 9 虚拟机受益于 VMware 文章Timekeeping best practice for Linux guest中的设置,但它指出 CentOS/RHEL 6 来宾不需要设置任何额外的内核参数。

更新 4

升级到 CentOS 6.5 并没有帮助。内核是:

Linux foo 2.6.32-431.1.2.0.1.el6.x86_64 #1 SMP Fri Dec 13 13:06:13 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
centos
  • 4 4 个回答
  • 19516 Views

4 个回答

  • Voted
  1. basvdlei
    2014-01-16T07:53:42+08:002014-01-16T07:53:42+08:00

    VMWare 在知识库中确实有一些关于如何在您的来宾操作系统中配置 ntp 客户端的建议。首先要确保禁用 vmware-toolbox timesync,因为您只希望 ntp 更新时间。

    来自Linux 客人的计时最佳实践:

    这是他们的样本/etc/ntp.conf:

    tinker panic 0
    restrict 127.0.0.1
    restrict default kod nomodify notrap
    server 0.vmware.pool.ntp.org
    server 1.vmware.pool.ntp.org
    server 2.vmware.pool.ntp.org
    driftfile /var/lib/ntp/drift 
    

    第一行 ( tinker panic 0) 允许大时间跳跃。(例如系统状态被保存/恢复)

    另一种方法是在来宾中禁用 ntp 并启用 vmware-tools 时间同步。

    • 2
  2. etherfish
    2014-01-21T08:31:36+08:002014-01-21T08:31:36+08:00

    您正在运行 CentOS 6.4 的最新内核版本吗?我会尝试使用clocksource=acpi_pm 启动。另外,我会做 ntpdate -u tick.usno.navy.mil && hwclock --systohc 让事情坐下来。如果事情继续,那么添加 divizor=10 为好。

    老实说,我怀疑问题部分与您特定内核中用于设置和读取实时时钟的代码有关 - 这就是您收到错误消息的原因。另一部分是由于虚拟时间中断没有足够定期地传递,或者定时器中断处理程序没有正确缩放内核时间 - 这就是让你时钟漂移的原因。

    不幸的是,迫使 ntp 更具侵略性只是解决问题的一个拐杖。

    是否有更新的内核可供您使用?这可能是你最安全的选择。祝你好运。

    • 2
  3. Best Answer
    Banjer
    2014-01-25T06:02:02+08:002014-01-25T06:02:02+08:00

    根据我读过的所有其他内容,听起来这些警告似乎是良性的,尤其是如果date您的服务器上的警告很好的话。不过有点烦人。

    我会让来自 ntp.org 的这个花絮让我放心:

    根据http://www.ntp.org/ntpfaq/NTP-s-trbl-spec.htm#Q-LINUX-SET-RTC-MMSS:

    8.3.4.1.1。set_rtc_mmss: can't update from 54 to 5 是什么意思?

    函数 set_rtc_mmss() 从系统时间更新 CMOS 时钟的分钟和秒。它不会更新小时或日期以避免时区问题。[1] 添加显示的消息是为了让用户和实施者意识到并非所有时间更新都会成功的问题。

    想象一下系统时间是 17:56:23,而 CMOS 时钟已经是 18:03:45。仅更新分钟和秒会将硬件时钟设置为 18:56:23,这是一个错误的值。此问题的解决方案是等待几分钟,或者安装修复该问题的内核补丁。通常,硬件时钟中的错误时间直到重新启动后才会显示,或者可能在 APM 减慢系统速度后才会显示。

    • 1
  4. SRK
    2019-06-04T14:33:58+08:002019-06-04T14:33:58+08:00
    1. 启动到bios
    2. 检查系统日期和时间(如果需要,请与当前正确)
    3. Esc(退出并批准更改)

    那应该工作

    • 0

相关问题

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve