0

我有一个使用动态链接库的示例应用程序library.so。我正在使用 top 命令测量示例应用程序的 CPU 使用率。但它显示了示例应用程序和library.so每秒的 CPU 使用率。但我只想查看library.so. 有没有办法做到这一点?我听说它可以通过 htop 实现,但不知道如何。我使用了树视图,但它显示了几个进程作为示例应用程序进程。我不明白是哪一个library.so。我正在使用centos 5.11。内核版本 3.2.63-1.el5.elrepo。

4

1 回答 1

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;
}

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

于 2014-10-23T15:00:18.690 回答