gpt4 book ai didi

c - 如何计算 Linux 中进程中线程使用的 CPU 百分比?

转载 作者:太空狗 更新时间:2023-10-29 11:13:43 24 4
gpt4 key购买 nike

我正在使用 opencv 应用程序,主进程使用 3 个线程。我想知道进程中每个线程消耗的 CPU 百分比?

最佳答案

阅读time(7)然后 clock_gettime(2) ,尤其是 CLOCK_THREAD_CPUTIME_IDCLOCK_REALTIME。您可能想要计算这些时钟的变化(例如从线程的开始)及其变化的比率。您可能希望将 clock_gettime(或其增量)的结果转换为 double(参见 this),因为 struct timespec 是通常大于 long long 或您机器上的任何整数类型。另见 pthread_getcpuclockid(3) .

注意一个线程可以被内核迁移scheduler从一个核心到另一个核心。见sched_setaffinity(2)pthread_setaffinity_np(3) 使用.

另见 proc(5) .您可能想解析 /proc/self/stat/proc/self/status 等...

另请查看 times(2) & getrusage(2) & pthreads(7)

关于c - 如何计算 Linux 中进程中线程使用的 CPU 百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28087792/

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