Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux futex()调用太多_Linux_Futex - Fatal编程技术网

Linux futex()调用太多

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

在尝试发布到外部MQ队列时,我们在Linux RedHat机器上观察到一个Java应用程序出现异常延迟(这以前从未发生过)。对该框进行了快速的健康检查,CPU/内存的使用似乎很正常。MQ盒也很好。重启我的Java进程,运气不好!之后我们抓拍了一张快速的
strace
快照,里面充满了
futex()
调用

我想知道是否有人能提供线索,说明为什么会发生这么多锁(我知道这是一个非常开放的问题,取决于应用程序的实际功能)


但是我希望能对这个问题有更多的了解。

那么你真的对它进行了分析并确定futex呼叫是瓶颈吗

假设您这样做了,有一件事可能是futex()系统调用意味着互斥是争用的;FUTEX=快速用户空间互斥,无争用互斥在用户空间中处理,无需系统调用。也就是说,您可能会遇到锁争用问题