Linux系统中是否可以加快时间流动?无论是虚拟化还是裸机都没关系。我需要测试我的程序是否可以正常运行大约 10 年。因此需要将正常流量的大约4000倍加速。性能不是我关心的,因为程序大多数时候什么也不做,而是等待非常零星的输入。
答案1
您可以使用date
快进到未来。确保 NTP 或任何时间同步不是跑步。
这里还有另外两种选择:https://superuser.com/questions/619848/can-i-speed-up-a-vm-to-emulate-the-passage-of-time
答案2
对于非常小的调整,这就是系统调用adjtimex
所做的。对于这些,你应该不是做一些事情,比如简单地将时间设置到未来——这会破坏事物,事实上会不是增加“感知”的时间流逝,只需引入跳跃即可。
然而,使用adjtimex
you 只能增加 10% 左右(因为设置timex.tick
允许的最短时间是 0.909… µs,而不是标称的 1 µs)。