私はマルチスレッドのLinuxプロセスで、特定のスレッドが数秒間実行されないように見える問題をデバッグしています。 strace出力を見ると、futexを待つことが明らかになった。
1673109 14:36:28.600329のfutex(0x44b8d20、FUTEX_WAIT_PRIVATE、:36:33.221850 < ...のfutexは>再開)= 0 < 4.621514>straceに示されているfutex競合をデバッグするには?
は、どのように私は何本のfutexを見つけることができます(0x44b8d20 )は、ユーザー空間で、つまり内部的にfutexを使用しているロック構成にどのようにマップするかを指します。
これは本当にスマートですが、残念なことに私はOS Xを使用しています。あなたの投稿のおかげで、私は今ではRubyのプローブでDTraceを使って調べ始めました。それは間違いなく私が前に探検することを考えていなかった道です。 – Reck