/ var / log / syslog’systemd :时间已被更改’消息每5秒一次

我有个问题。 有像这样的消息

Mar 1 15:52:34 ubuntu systemd[1]: Time has been changed Mar 1 15:52:34 ubuntu systemd[1]: snapd.refresh.timer: Adding 1h 16min 25.978183s random time. Mar 1 15:52:34 ubuntu systemd[1]: apt-daily.timer: Adding 8h 21min 914.167ms random time. Mar 1 15:52:34 ubuntu systemd[6041]: Time has been changed 

/ var / log / syslog中每隔5秒。 看起来有些事情在不断变化。 这真的很烦人,我明白错了,想解决它。 RTC时间也不正确。

有关我的系统的一些信息

  • Ubuntu 16.04,4.4.0-64-generic,x86_64,在VDS上运行

timedatectl

  Local time: Ср 2017-03-01 16:05:03 MSK Universal time: Ср 2017-03-01 13:05:03 UTC RTC time: Пт 2017-03-03 11:33:10 Time zone: Europe/Moscow (MSK, +0300) Network time on: yes NTP synchronized: yes RTC in local TZ: no 

iptables

 Chain INPUT (policy DROP) Chain OUTPUT (policy ACCEPT) 

INPUT链里面有我的规则。

systemctl list-units | grep running

 acpid.path loaded active running ACPI Events Check init.scope loaded active running System and Service Manager acpid.service loaded active running ACPI event daemon asterisk.service loaded active running Asterisk PBX atd.service loaded active running Deferred execution scheduler cron.service loaded active running Regular background program processing daemon dbus.service loaded active running D-Bus System Message Bus getty@tty1.service loaded active running Getty on tty1 hv-kvp-daemon.service loaded active running Hyper-V KVP Protocol Daemon hv-vss-daemon.service loaded active running Hyper-V VSS Protocol Daemon iscsid.service loaded active running iSCSI initiator daemon (iscsid) lvm2-lvmetad.service loaded active running LVM2 metadata daemon lxcfs.service loaded active running FUSE filesystem for LXC mdadm.service loaded active running LSB: MD monitoring daemon mysql.service loaded active running MySQL Community Server openvpn@server.service loaded active running OpenVPN connection to server rsyslog.service loaded active running System Logging Service snapd.service loaded active running Snappy daemon ssh.service loaded active running OpenBSD Secure Shell server systemd-journald.service loaded active running Journal Service systemd-timesyncd.service loaded active running Network Time Synchronization systemd-udevd.service loaded active running udev Kernel Device Manager user@1000.service loaded active running User Manager for UID 1000 vpsguard.service loaded active running VPSGUARD acpid.socket loaded active running ACPID Listen Socket dbus.socket loaded active running D-Bus System Message Bus Socket lvm2-lvmetad.socket loaded active running LVM2 metadata daemon socket snapd.socket loaded active running Socket activation for snappy daemon 

我试过了

  • sudo systemctl stop systemd-timesyncd.service
  • 安装/卸载NTP
  • sudo hwclock -w

我没有安装sclockadj。 我还问我的VDS提供商是否阻止任何NTP请求。 不,他们没有。

更新1
我完全设置了另一个VDS#2。 systemd[1]: Time has been changed得到这条消息几分钟后,消息CRON[3684]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)出现了问题走了。 但是我尝试升级VDS#2并在重新启动后立即再次更改此时间。

找到这个post ,也许它可以提供更多信息。 看起来这是一个内核问题。

试图降级内核,systemd,udev,但没有任何东西不起作用。 正如我从一些回复中看到的那样,这不仅仅是我的主机和虚拟化的问题。

我遇到了这个systemd[...]Time has been changed问题systemd[...]Time has been changed在Windows 8.1 Hyper-V下运行的16.04服务器上, /var/log/syslog每5秒记录一次systemd[...]Time has been changed消息。 为了解决这个问题,我禁用了Hyper-V端的时间同步。

在Hyper-V管理器中,我突出显示了虚拟机,选择了设置 ,然后是集成服务 ,取消选中时间同步 ,然后单击应用

消息立即停止 – 无需重新启动VM。

在HyperV / Azure上,可以通过为syslog创建filter来禁用该消息。

  1. 在/etc/rsyslog.d中创建一个新文件

     vi /etc/rsyslog.d/15-excludetime.conf 
  2. 插入两行

     :msg, contains, "Time has been changed" ~ :msg, contains, "apt-daily.timer: Adding" ~ 
  3. 重启rsyslog

     systemctl restart rsyslog.service 

或者您可以在VMBUS上禁用主机时间同步。 我把这行放在/etc/rc.local下

 echo 2dd1ce17-079e-403c-b352-a1921ee207ee > /sys/bus/vmbus/drivers/hv_util/unbind 

我在Microsoft Azure VM上遇到了同样的问题。 将硬件时钟设置为系统时间对我来说是个窍门;

 hwclock -w