【发布时间】:2015-10-16 21:27:49
【问题描述】:
是否有可能在 linux 中更改它的滴答速率以获得更精细的时间分辨率?
在我的系统中默认分辨率设置为 1000hz,这意味着我的最小延迟为 1ms,我需要一个更精确的系统,延迟为 1us 甚至 1ns,但我不知道这是否可能将其更改为 1000hz 以上。
如果可以改变,在哪里/如何实现?
考虑到我正在编写一个 c 脚本,还有其他可能的解决方法吗?
【问题讨论】:
-
如果您只是在寻找更高的计时器分辨率(例如纳秒),您可以使用
clock_gettime()而不是乱七八糟的。更多细节可以看这个SOanswer。 -
您需要更精细的调度程序分辨率以使系统更具反应性,还是需要更高的时间测量分辨率?
-
这是为了更好的反应时间,能够睡 x 我们和/或执行每 x 我们
-
你可能会进入一个负载过重的系统。在这种情况下,您将无法获得预期的效果。为什么不使用
clock_gettime(2)syscall 提供的高分辨率时钟?它使用 cpu 滴答计数器,比时钟滴答给出的0.001s提供更高的分辨率。 -
这里相同,但由于
tc-htb(8)使用 jiffies...