收集有关 Linux 上线程调度的信息
我想收集有关 Linux 上线程何时被调度(和取消调度)以及在哪些 CPU 上的信息。我很高兴收集信息并将其存储在文件中以供稍后离线分析,因为我需要将调度信息与我的代码生成的其他事件源合并。理想情况下,信息将由程序本身收集,因为我计划在大部分时间使用机器上的所有核心,并且使用外部进程进行采样会干扰我想要测量的执行。
那么这在 Linux 上可能吗?有哪些选择?
I want to collect information about when my threads are scheduled (and descheduled), and on which CPUs, on Linux. I'm happy to collect the information and store it in a file for offline analysis later, since I'll need to merge the scheduling information with other event sources generated by my code. Ideally the information would be collected by the program itself, as I plan to be using all the cores on the machine most of the time, and using an external process to do the sampling would disturb the execution I want to measure.
So is this possible on Linux? What are the options?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Linux 性能工具 是一个通用内核- 支持的分析工具。除此之外,它还可以记录事件,其中包括任务调度事件。
The Linux perf tool is a general purpose kernel-supported profiling tool. Among other things, it can record events, which includes task scheduling events.