Linux futex()调用太多
在尝试发布到外部MQ队列时,我们在Linux RedHat机器上观察到一个Java应用程序出现异常延迟(这以前从未发生过)。对该框进行了快速的健康检查,CPU/内存的使用似乎很正常。MQ盒也很好。重启我的Java进程,运气不好!之后我们抓拍了一张快速的Linux futex()调用太多,linux,futex,Linux,Futex,在尝试发布到外部MQ队列时,我们在Linux RedHat机器上观察到一个Java应用程序出现异常延迟(这以前从未发生过)。对该框进行了快速的健康检查,CPU/内存的使用似乎很正常。MQ盒也很好。重启我的Java进程,运气不好!之后我们抓拍了一张快速的strace快照,里面充满了futex()调用 我想知道是否有人能提供线索,说明为什么会发生这么多锁(我知道这是一个非常开放的问题,取决于应用程序的实际功能) 但是我希望能对这个问题有更多的了解。那么你真的对它进行了分析并确定futex呼叫是瓶颈吗
strace
快照,里面充满了futex()
调用
我想知道是否有人能提供线索,说明为什么会发生这么多锁(我知道这是一个非常开放的问题,取决于应用程序的实际功能)
但是我希望能对这个问题有更多的了解。那么你真的对它进行了分析并确定futex呼叫是瓶颈吗 假设您这样做了,有一件事可能是futex()系统调用意味着互斥是争用的;FUTEX=快速用户空间互斥,无争用互斥在用户空间中处理,无需系统调用。也就是说,您可能会遇到锁争用问题