Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有没有办法知道在一段时间内哪个进程(或多少个进程)正在使用哪些库文件。
可以为此使用 V-Tune 或 perf 或 OProfile 吗?
在任何时候,都可以列出特定进程 pid的进程映射中的所有共享库
cat /proc/<pid>/maps | grep <name of library>
还可以检查已打开特定共享库的正在运行的进程列表
lsof <path-to-shared-library-file>
有什么方法可以知道哪个进程(或多少个进程)正在使用哪些库文件
您可以通过拍摄快照cat /proc/*/maps > /tmp/snapshot,然后使用grepandwc来回答您的问题。
cat /proc/*/maps > /tmp/snapshot
grep
wc
如果您想在一段时间内监控系统,您可以每隔一秒左右拍摄一次快照。
您可以执行perf record -a, 然后perf script -D查找PERF_RECORD_MMAP事件。
perf record -a
perf script -D
PERF_RECORD_MMAP