linux内核定时微秒,Linux中微秒的准确(或更好)处理时间

我需要一种非常准确的方式来计时程序的各个部分。我可以为此使用常规的高分辨率时钟,但这将返回挂钟时间,这不是我所需要的:我只需要花时间运行我的进程。

我清楚地记得看到过一个Linux内核补丁,该补丁可以使我将进程的时间定为纳秒级,但我忘了给它加上书签,也忘了补丁的名称了:(。

我记得它是如何工作的:

在每个上下文切换上,它将读取高分辨率时钟的值,并将最后两个值的增量添加到正在运行的进程的处理时间中。这样可以对过程的实际过程时间产生高分辨率的准确视图。

我使用常规时钟来保持常规处理时间,我相信这是毫秒精确的(1000Hz),对于我的目的来说太大了。

有人知道我在说什么内核补丁吗?我还记得它像一个单词之前或之后的字母-诸如“ rtimer”之类的东西,但我记不清了。

(也欢迎其他建议)

Marko建议的“完全公平的调度程序”不是我想要的,但看起来很有希望。我遇到的问题是,我可以用来获取处理时间的调用仍未返回足够细的值。

times()返回值21、22(以毫秒为单位)。

clock()返回的值21000、22000,相同的粒度。

getrusage()返回的值如210002、22001(等等),它们看起来具有更好的准确性,但这些值看起来明显相同。

因此,现在我可能遇到的问题是内核具有所需的信息,我只是不知道会返回该信息的系统调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值