【问题标题】:How to change the system clock rate or OS clock rate?如何更改系统时钟频率或操作系统时钟频率?
【发布时间】:2014-10-09 12:55:32
【问题描述】:

我想知道有没有办法改变 Windows 或 Linux 时钟频率或系统时钟频率(可能通过 BIOS)?我的意思是加速或减速系统时钟!

例如在计算机中每 24 小时持续 12 小时或实际 36 小时!!!

注意:

使用下面的批处理文件,我可以减慢 Windows 时间。但我想要更低层次的东西!我想改变时钟节奏,使所有程序和工具的所有时间都变慢或变快!不仅是 Windows 时间!

@echo off

:loop

set T=%time%
timeout 1
time %T%
timeout 1

goto loop

【问题讨论】:

  • 编写一个程序,每秒将系统时间向前调整一秒或向后调整四分之一秒。
  • 我已经用批处理文件完成了!但我想要更好的东西!我的意思是在较低的水平!如果我编写一个程序,每秒将系统时间向前调整一秒或向后调整四分之一秒,另一个调用时间 API 的程序可以正常工作!我想改变操作系统中的某些东西,使所有其他程序和工具的时间也发生变化!
  • 这是一个有趣的问题。 NTPd 支持渐变,但通常在 0.5% 左右,而不是 50%。也许adjtimex(2) 可以被使用/滥用,以及内核源代码中一些禁用的健全性检查?
  • 系统时间是全局的,因此在任何其他请求当前系统的进程中更改它都会立即生效。您的批处理文件没有更改系统时间,或者其他进程没有更改其行为,因为它们没有查询系统时间。
  • @RossRidge 我在问题中添加了一个批处理文件。你认为这个批处理文件也可以改变其他程序的时钟频率吗?还是只改变窗口的时间?!

标签: linux windows clock system-clock


【解决方案1】:

因此,您的 CPU 时钟实际上不能通过系统调用进行编程。它实际上是使用带晶体的振荡器工作的。在启动过程中您无法更改。这是故意这样做的,以便您的 CPU 能够在不管您的电源/wifi/一般系统状态的情况下运行。

【讨论】:

    【解决方案2】:

    正如That Other Guy 所评论的那样,您可能会使用adjtimex(2) 系统调用,但您首先应该确保没有使用adjtimex 的NTP 客户端守护程序正在运行(所以停止任何ntpdchrony 服务)。

    我不确定它是否会起作用,它可能会使您的系统非常不稳定。

    更粗鲁的可能性可能是经常强制设置date(1) - 或hwclock(8)-(例如,在某些crontab 作业中每5 分钟运行一次)。

    我相信它(即大大降低系统时钟)是一件奇怪而糟糕的事情。不要在生产机器上这样做(或者甚至在一些在 Web 上执行重要请求的机器上)。准备好可能会破坏很多东西。

    【讨论】:

    • “那个人”评论了它,而不是我! :) 我什至不知道它是什么 :) 谢谢。
    • 已更正。抱歉打错了!
    猜你喜欢
    • 2017-04-30
    • 2013-09-18
    • 2011-05-13
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    相关资源
    最近更新 更多