0

我们有 10 名工作人员处理用户的连接。Worker 是在 Perl 中实现的,使用FCGIFCGI::ProcManager

有时,一名工作人员会停止处理连接。Strace 显示:

futex(0x7fa9ebde0e80, FUTEX_WAIT_PRIVATE, 2, NULL

那就是它睡觉,等待一个futex。

工人永远不会从等待中返回。

如果我们用

kill -9

然后它的父母收获它。返回码等于 9。

我们的项目是高负荷的。这个问题很少出现。

4

1 回答 1

0

According to futex man page:

This system call is typically used to implement the contended case of a lock in shared memory, as described in futex(7)

So my first question: is your Perl script using "Perl Threads" and are you having contention on a shared memory variable?

于 2013-07-02T08:14:45.450 回答