【发布时间】:2015-04-07 16:31:01
【问题描述】:
我已经开始编写一些软件来对 Linux 系统上的进程与硬件的交互进行高分辨率监控。我的目标是在单个进程上记录计数器等,每秒多次采样。 我对 IO、CPU、分页等硬件指标感兴趣。通过这种粒度,我应该能够深入了解进程的运行方式、绑定位置以及它如何执行工作负载或响应请求。
有没有软件可以做到这一点?
从 /proc/pid/file 获取数据是否正常,或者我应该去阅读 'linux/proc_fs' 以更快地访问数据? (或者有什么更快的东西)
【问题讨论】:
-
你检查过
strace吗? -
strace 非常适合 app -> kernel 之间的调用。我对应用程序如何与硬件的各个方面进行交互非常感兴趣。我认为我无法从 strace 中获取分页统计信息?我可以吗?
-
应用需要内核与硬件交互。检查 strace 输出中的 ioctl 调用。还是您在查看内核如何与硬件交互?
-
您可以使用
systemtab真正深入内核。我不确定这是否是您要寻找的东西 -
另一个工具是 perf。 perf.wiki.kernel.org/index.php/Main_Page
标签: linux performance linux-kernel monitoring