LTTng能否通过跟踪Linux内核来分析多线程问题?

LTTng能否通过跟踪Linux内核来分析多线程问题?,linux,debian,lttng,Linux,Debian,Lttng,我正在寻找一种方法来分析Linux用户程序中的多线程问题,而不影响程序本身的行为。我想知道是否可以从内核事件跟踪器分析用户程序的多线程问题?是的,LTTng在该用例中工作得很好,您可以从启用调度事件sched*开始,statedump事件lttng_statedump_*和系统调用事件,您应该很快对程序行为有一个好的了解。您可以在TraceCompass中查看跟踪以进行直观检查,也可以使用lttng分析脚本从跟踪中提取使用率和延迟指标。您能告诉我应该启用哪些系统调用事件吗?此外,我如何通过跟踪L

我正在寻找一种方法来分析Linux用户程序中的多线程问题,而不影响程序本身的行为。我想知道是否可以从内核事件跟踪器分析用户程序的多线程问题?

是的,LTTng在该用例中工作得很好,您可以从启用调度事件sched*开始,statedump事件lttng_statedump_*和系统调用事件,您应该很快对程序行为有一个好的了解。您可以在TraceCompass中查看跟踪以进行直观检查,也可以使用lttng分析脚本从跟踪中提取使用率和延迟指标。

您能告诉我应该启用哪些系统调用事件吗?此外,我如何通过跟踪Linux内核来观察POSIX线程的互斥锁/解锁事件?您应该从所有系统调用lttng enable event-k-syscall-a开始,在您知道您在寻找什么之后,您可以只启用您真正想要的,但这取决于你的应用程序和你想观察的内容。你不会从内核跟踪中看到所有的互斥锁/解锁,如果你想看到所有的东西,你需要使用LTTng UST和liblttng-UST-pthread-wrapper.so库预加载。谢谢,我会检查一下