我试图弄清楚如何从我的C++应用程序中获得进程(由PID指定) CPU的使用。代码是琐碎的,网上有很多关于如何使用示例来实现的答案,但有一件事让我感到困惑的是,应该从哪些来源对各种值进行采样。
例如,大多数示例似乎都提到解析/proc/<pid>/stat,但我看到了一些源(例如铬源),它们实际上迭代/proc/<pid>/task/<thr_id>并读取每个线程的stat文件,并在计算进程CPU负载之前对相关字段进行求和。
所以问题是,使用一种方法比另一种方法有什么好处吗?
发布于 2022-08-26 10:13:47
我检查了不同版本的铬源,似乎只有较早的版本使用了线程stat文件;最新的代码here只使用proc/<pid>/stat文件。我想,使用线程stat文件只是给数据提供了更大的粒度,而这并不是一般的‘X进程使用多少CPU’所需要的。
https://stackoverflow.com/questions/73491626
复制相似问题