我正在研究一个复杂的网络软件,我很难决定如何提高系统性能。
特别是在软件的一部分,它使用阻塞同步调用。由于系统的这一部分正在进行大量的计算,因此几乎不可能确定这一部分的慢行是由这些计算引起的,还是等待系统的其他部分。
是否有轻量级的分析器可以捕获此信息?我不能使用像valgrind这样的重负荷配置文件,因为这会完全扭曲结果(尽管valgrind是完美的,因为它捕获了所有必需的信息)。
我试过使用Oprofile,但我就是没能从中得到任何有意义的结果(也许在某个地方有一个简明的教程…)。

最佳答案

您需要的是提供堆栈样本、墙上时钟时间(不只是像gprof那样的cpu时间)和按行(不只是按函数)报告包含该行的样本百分比的东西。
Zoom会成功的,
但我只是do random-pausing。这是why it works
这里是一个打击example
这是another explanation

关于c - 剖析网络软件/具有大量系统调用等待的剖析软件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6263933/

10-11 15:39