【发布时间】:2017-03-15 23:55:38
【问题描述】:
我习惯于随机暂停 gdb 中正在运行的程序,以了解它在哪里花费时间,如 How can I profile C++ code running in Linux? 中所述。这种技术似乎最适合批处理,而不是交互式/实时系统。
对于我目前正在处理的一个程序,绝大多数样本都在 epoll_wait() 中。这显然不是加速的候选者,但我想知道其他性能瓶颈是什么。
理想情况下,我想要一种在线程未被 epoll_wait() 阻塞的时间间隔中生成多个堆栈跟踪(连同参数,可能还有环境)的方法。
有谁知道这样做的好方法,还是我应该硬着头皮改用分析器?
【问题讨论】:
标签: performance gdb profiling