2010-08-04 6 views
1

외부 Red Hat 대기열에 게시하는 동안 Linux RedHat 시스템에서 Java 응용 프로그램 중 하나에서 비정상적인 지연이 발생합니다. 상자 및 CPU/메모리 사용량에 대한 빠른 상태 확인이 상당히 괜찮은 것 같습니다. MQ 박스도 꽤 괜찮습니다. 내 Java 프로세스를 다시 시작했습니다. 우리는 그 다음에 빠른 strace 스냅 샷을 붙였으며 futex() 전화가 가득 찼습니다.futex() 호출이 너무 많습니다.

누군가가 너무 많은 자물쇠가 일어날 수있는 이유에 대한 단서를 제공 할 수 있는지 궁금해하고 있었는지 궁금한가요? (나는 그것이 매우 다양한 종류의 질문입니다. 앱이 실제로하는 일에 달려 있음).

그러나 문제에 대해 더 많은 통찰력을 얻기를 바랍니다.

답변

1

실제로 프로필을 작성하여 futex 호출이 병목 현상이라고 판단 했습니까?

당신이 가정했다면, futex() 시스템 호출은 뮤텍스가 경합한다는 것을 의미 할 수 있습니다. FUTEX = 빠른 사용자 공간 뮤텍스, 비경쟁 뮤텍스는 시스템 콜없이 사용자 공간에서 처리됩니다. 즉, 잠금 경합에 문제점이있을 수 있습니다.

+0

거의 1 년 전에 질문이 게시되었습니다. 오 잘 .. – janneb

관련 문제