¿Por qué park / unpark tiene 60% de uso de CPU?
Recientemente comenzamos a probar nuestra aplicación (un servidor de chat basado en XMPP) usando YJP 11.0.9. Durante nuestra prueba notamos seguir un comportamiento extraño.
El muestreo muestra que sun.misc.Unsafe.unpark (Objeto) tomó 60% de la CPU.Para la misma aplicación, Rastreo muestra que LockSupport.park (Objeto) tomó el 52% de la CPU.Hice varias pruebas para confirmar los resultados y cada vez obtuve resultados similares.
No puedo entender por qué el desempaque debería tomar el 60% del tiempo y por qué el rastreo muestra resultados exactamente opuestos.
¿Puede alguien ayudarme a entender estos resultados? ¿Me estoy perdiendo de algo?
Ambiente:
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)