根据挂钟时间获取gprof配置文件?

jet*_*olf 8 c++ profiling gprof

我的理解是默认情况下gprof会考虑CPU时间.有没有办法让它根据挂钟时间进行配置?

我的程序执行了大量的磁盘I/O,因此它使用的CPU时间仅占实际执行时间的一小部分.我需要知道磁盘的哪些部分i/o占用的时间最多.

Mik*_*vey 1

gprof不会这样做。看这个

和这个。

简而言之:在gdb下,运行它并随机执行 Ctrl-Break 或 Ctrl-C 10 次,并显示调用堆栈。如果您的 I/O 占用了(例如)60% 的时间,那么(大约)每 10 次暂停中有 6 次,您将在 writebuf 或 readbuf 例程中看到它,并且请求 I/O 的代码行将在清楚地显示在堆栈上。

您还可以使用lsstack来获取相同的信息。