我有一个使用动态链接库library.so
的示例应用程序。我用top命令测量了示例应用程序的CPU使用率。但它显示了每秒样本应用和library.so
的CPU使用率。但是我希望只看到library.so
的CPU使用率。反正有没有这样做?我听说它可以通过htop实现,但无法找到方法。我使用了树视图,但它显示了几个进程作为示例应用程序进程。我无法理解哪一个是library.so
。我正在使用centos 5.11。内核版本3.2.63-1.el5.elrepo。
答案 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;
}
您需要将此扩展到程序从库中调用的所有函数。