开发者

Too many futex() calls

We are observing unusual delays in one of our Java apps on a Linux RedHat machine while trying to publish to an external MQ queue (It never happened before). Did a quick health check on the box and the CPU/memory usage seems quite alright. The MQ boxes are quite fine as well. Restarted my Java process, n开发者_StackOverflow社区o luck! We grabbed a quick strace snapshot after that and it is full of futex() calls.

Was wondering if somebody could give any clues on why so many locks could be happening (I know it is a very wide open kind of question. Depends on what the app actually does).

But I was hoping to get some more insight into the problem.


So did you actually profile it and determined that futex calls are the bottleneck?

Assuming you did, one thing might be that a futex() syscall implies that the mutex is contended; FUTEX = fast user space mutex, uncontended mutexes are handled in user-space without a syscall. That is, you might have a problem with lock contention.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜