gpt4 book ai didi

linux - 时钟()的实现

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:25:52 28 4
gpt4 key购买 nike

我在计算进程的 CPU 时间的各种机制上研究了 stackoverflow 线程。

clock() 内部是如何实现的?它是否使用 rdtsc()(如果是这样,那么它对核心之间的迁移很敏感)。

此外,getrusage() 实现了吗?它也依赖于 TSC 吗?

提前致谢

最佳答案

内核以滴答为单位跟踪进程的 CPU 利用率。

clock()getrusage() 都是基于这些。

节拍是由内核使用采样方法由进程累积的,在这种方法中,内核接收时钟的硬件中断并执行时钟处理程序,这会将节拍添加到当前运行的进程中。至少,这是我上次查看时的工作方式。

因此,rtdsc 根本没有发挥作用 - 这是一件好事,因为 rdtsc 无法跨 CPU 准确测量。

关于linux - 时钟()的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12883441/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com