【问题标题】:system profiling - usage information of shared libraries系统分析 - 共享库的使用信息
【发布时间】:2016-02-21 20:08:01
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

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


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

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

    【讨论】:

      【解决方案2】:

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

      您可以通过cat /proc/*/maps &gt; /tmp/snapshot 拍摄快照,然后使用grepwc 回答您的问题。

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-18
        • 2016-02-20
        • 2023-03-30
        • 2021-12-22
        • 2014-02-07
        • 1970-01-01
        相关资源
        最近更新 更多