【问题标题】:Collecting information about thread scheduling on Linux收集有关 Linux 上的线程调度的信息
【发布时间】:2010-07-07 19:08:22
【问题描述】:

我想收集有关我的线程何时调度(和取消调度)以及在 Linux 上的 CPU 上的信息。我很乐意收集信息并将其存储在文件中以供以后离线分析,因为我需要将调度信息与我的代码生成的其他事件源合并。理想情况下,信息将由程序本身收集,因为我计划大部分时间使用机器上的所有内核,并且使用外部进程进行采样会干扰我想要测量的执行。

那么这在 Linux 上可行吗?有哪些选择?

【问题讨论】:

    标签: linux profiling trace scheduler


    【解决方案1】:

    Linux perf tool 是一个通用的内核支持的分析工具。除此之外,它还可以记录事件,包括任务调度事件。

    【讨论】:

    • 谢谢,我知道 perf,我真正想要的是指向 API 的指针,我可以使用这些指针从我自己的代码中获取信息。
    • @Simon Marlow:perf 就是那个 API。您不必担心它会影响您尝试测量的事物,因为它的工作方式是内核在事件发生时将事件记录到内部缓冲区中,并且用户空间工具在事后运行以提取事件记录。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多