系统概要分析 - 共享库的使用信息

时间:2016-02-21 20:08:01

标签: linux-kernel shared-libraries perf vtune oprofile

有什么方法可以在一段时间内知道哪个库文件正在被哪个进程使用(或通过多少个进程)。

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

2 个答案:

答案 0 :(得分:2)

  

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

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

process maps

  

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

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

lsof shared lib

答案 1 :(得分:1)

  

有没有办法知道哪个库文件被哪个进程使用(或者进程数量是多少)

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

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

  

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

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

相关问题