【发布时间】:2014-12-18 16:24:10
【问题描述】:
我有一个使用动态链接库library.so 的示例应用程序。我正在使用 top 命令测量示例应用程序的 CPU 使用率。但它显示了示例应用程序和 library.so 每秒的 CPU 使用率。但我想查看只有library.so 的CPU 使用率。有没有办法做到这一点?我听说它可以通过 htop 实现,但不知道如何。我使用了树视图,但它显示了几个进程作为示例应用程序进程。我不明白哪个是library.so。我正在使用centos 5.11。内核版本 3.2.63-1.el5.elrepo。
【问题讨论】:
-
您似乎暗示共享库是一个单独的进程。不是。
-
那我怎样才能得到只有
library.so的CPU使用率呢?难道没有别的办法了吗?我尝试过使用分析器。但是他们提供了很多我不需要的信息。是否有任何分析器不会给我详细报告,而只会给我共享库的 CPU 使用情况?谢谢。 -
在 HTOP 中,我可以看到 10 个与示例应用程序同名的 PID。如果它们是单个进程,为什么它们具有不同的 PID?还是它们是线程 ID?
-
您可以使用
callgrind(valgrind的一部分),但它不会立即为您提供您正在寻找的确切数字——您需要总结所采取的说明该库中的所有函数(为此编写一个脚本),您最终会得到一个循环计数而不是“CPU 秒数”。当然还有其他分析器,也许其中一个很有用。你也可以看看ltrace,它可以按库过滤。 -
它们是线程 ID。
标签: c++ cpu-usage redhat centos5 htop