time - Linux walltime 运行速度慢了大约 5 倍
问题描述
我在带有 Intel i7-9700 处理器的主板上遇到了一个非常奇怪的行为。硬件时钟 (RTC) 运行正常,但系统时间 / walltime 运行大约。5 倍太慢:
$ sudo hwclock; sleep 10; sudo hwclock
2020-11-20 09:38:19.667199+00:00
2020-11-20 09:39:07.479683+00:00
10 多岁的睡眠花了将近 50 多岁才完成。系统时间跑得如此之快,以至于几乎所有与加密相关的东西都失败了,例如下载更新的 HTTPS 连接。由于巨大的不匹配,我认为某处的某些频率信息是完全错误的,但是在哪里寻找呢?
安装的发行版是 Ubuntu 20.04.1 LTS。我之前没有明确检查过,但据说这个问题最近才出现,因为症状很明显。WiFi 和 OpenVPN 仍然可以在这台机器上运行,我真的很惊讶。否则我现在无法访问它,因为它位于远程位置。
任何关于检查/修复什么的想法都非常感谢。
谢谢你和最好的问候,菲利普
更新:似乎挂钟不再考虑 CPU 频率缩放。CPU空闲时,时钟滴答慢;只要 CPU 有事情要做,时钟就会或多或少地正确运行。
解决方案
这个问题确实似乎与 CPU 选择/行为有关,但与频率缩放没有直接关系。显然,Intel i7-9700 和我们的主板(bcmcom MX370QD)之间存在不兼容问题。CPU 是第 9 代产品,有 8 个内核,TDP 为 65W。主板方面,支持的CPU如下:
支持第 8 代 LGA1151 Intel® Core-i™、Pentium 和 Celeron 处理器*,最高 65W TDP
支持第 9 代 LGA1151 Intel® Core-i™、Pentium 和 Celeron 处理器*,6 核或更少,最高 95W TDP
支持 8核心第 9 代 LGA 1151 Intel® Core-i™ 处理器* 高达 35W TDP
* 处理器 IccMax <= 138A。
仔细检查,由于 TDP 的内核数过多或内核数的 TDP 过多,此变体实际上并未得到官方支持。为什么这些限制适用,我不知道。但:
解决方案maxcpus=6
:通过使用内核参数在启动时禁用两个 CPU 内核,问题就消失了。
问题的根本原因是什么,我不知道。也许对 x86 硬件上的 Linux 计时系统有深入了解的人有一个答案。
旧答案,只是改进了,但没有固定时间:
好的,我不知道问题的真正原因是什么,但是将所有 BIOS 设置恢复为默认值可以解决问题。walltime 现在可以正常运行并允许 NTP 同步。
推荐阅读
- amazon-web-services - CloudWatch 警报根据历史数据恢复正常
- java - 是否可以在方法参数上应用手动实例化的 Java 注释?
- angular - 如何在故事书中为 Angular 应用加载全局 scss 文件?
- ruby-on-rails - Model.where('false') 是如何工作的?我不确定,上面的查询实际上在做什么
- php - 如何用其他TextArea循环TextArea中的每一行
- firebase - 我们如何更改 firebase.functions().httpsCallable 中的 responseType
- c++ - 尝试使用 boost 文件系统构建:“重定位……在创建共享对象时无法使用;使用 -fPIC 重新编译”
- php - Woocommerce 产品库滑块不起作用
- arrays - 反应原生 | JS 创建对象
- stored-procedures - Cosmos DB 存储过程:如何获取正在运行的分区名称?