Dlaczego park / unpark ma 60% wykorzystanie procesora?

Niedawno rozpoczęliśmy testy warunków skrajnych naszej aplikacji (serwer czatu oparty na XMPP) za pomocą YJP 11.0.9. Podczas naszego testu zauważyliśmy dziwne zachowanie.

Próbkowanie pokazuje, że sun.misc.Unsafe.unpark (Object) zabrał 60% procesora.W tej samej aplikacji Tracing pokazuje, że LockSupport.park (Object) zajęło 52% procesora.

Wykonałem wiele testów, aby potwierdzić wyniki i za każdym razem, gdy otrzymałem podobne wyniki.

Nie jestem w stanie zrozumieć, dlaczego unpark powinien zająć 60% czasu i dlaczego śledzenie pokazuje dokładnie odwrotne wyniki.

Czy ktoś może mi pomóc zrozumieć te wyniki. Czy coś mi umyka?

Środowisko:

java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)

questionAnswers(2)

yourAnswerToTheQuestion