【问题标题】:High resolution process monitoring / logging on LinuxLinux 上的高分辨率进程监控/日志记录
【发布时间】: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


【解决方案1】:

看看 Grafana (http://grafana.org/) 与 InfluxDB (https://influxdb.com/) 的结合 它是免费的、简单的并且是开源的。

我写了一个 Powershell 脚本,它确实加减了你所描述的 Windows 性能计数器 => http://outsideit.net/naf-windows-perfmon-to-influxdb/

不过,您应该能够将 collectd 用于 Linux 服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多