是否有可用于跟踪上下文切换的Linux系统API?

时间:2014-10-05 02:55:07

标签: linux

我有兴趣编写一个性能分析器(只是为了好玩)。我想在Linux中跟踪上下文切换,以便我可以记录上下文切换和上下文切换线程(属于被分析的进程)之间的时间。除了时间之外,我还想记录相关的callstack(在它们与以前记录的堆栈不同的情况下)。

另外,我想知道是否有类似于Windows' Linux上的ETW?

PS:我确实尝试在线搜索,但找不到任何相关信息。方法似乎是使用基于计时器的信号,但我觉得这将是不精确的。

1 个答案:

答案 0 :(得分:2)

查看http://en.wikipedia.org/wiki/DTrace(许多Linux发行版都提供)。除此之外,还可以使用仪器上下文切换,以便获取该信息。

它与* nix上的ETW最相似。

linux_perf也可能已经做了你想做的事 - https://perf.wiki.kernel.org/index.php/Main_Page

你对自己真正想要的东西不太清楚,所以希望这些指针有所帮助。