测量动态链接库的每秒CPU使用率

时间:2014-10-23 03:10:56

标签: c++ cpu-usage redhat centos5 htop

我有一个使用动态链接库library.so的示例应用程序。我用top命令测量了示例应用程序的CPU使用率。但它显示了每秒样本应用和library.so的CPU使用率。但是我希望只看到library.so的CPU使用率。反正有没有这样做?我听说它可以通过htop实现,但无法找到方法。我使用了树视图,但它显示了几个进程作为示例应用程序进程。我无法理解哪一个是library.so。我正在使用centos 5.11。内核版本3.2.63-1.el5.elrepo。

1 个答案:

答案 0 :(得分:0)

鉴于库被视为程序的一部分,一种方法是在代码中实现测量。以下最小的示例是在C ++ 11上实现的,它只运行一个假设库中的一个函数:

#include <chrono>
#include <iostream>
#include <hypothetical>
int main() {
  using namespace std::chrono;
  system_clock systemClock;
  system_clock::time_point startingTime{systemClock.now()};
  hypothetical::function();
  system_clock::duration libraryTime{systemClock.now() - startingTime};
  std::cout << "Hypothetical library took " << duration_cast<seconds>(libraryTime).count() << " seconds to run.\n";
  return 0;
}

您需要将此扩展到程序从库中调用的所有函数。