0

有没有办法知道在一段时间内哪个进程(或多少个进程)正在使用哪些库文件。

可以为此使用 V-Tune 或 perf 或 OProfile 吗?

4

2 回答 2

2

在任何时候,都可以列出特定进程 pid的进程映射中的所有共享库

cat /proc/<pid>/maps | grep <name of library>

流程图


还可以检查已打开特定共享库的正在运行的进程列表

lsof <path-to-shared-library-file>

lsof 共享库

于 2016-02-22T15:06:55.367 回答
1

有什么方法可以知道哪个进程(或多少个进程)正在使用哪些库文件

您可以通过拍摄快照cat /proc/*/maps > /tmp/snapshot,然后使用grepandwc来回答您的问题。

如果您想在一段时间内监控系统,您可以每隔一秒左右拍摄一次快照。

可以为此使用 V-Tune 或 perf 或 OProfile 吗?

您可以执行perf record -a, 然后perf script -D查找PERF_RECORD_MMAP事件。

于 2016-02-22T16:03:23.217 回答