2 votos

Bajo uso de la CPU al realizar grandes tareas en java

Hace poco que tengo el mac mini y soy nuevo en OS X, así que quizá sea una pregunta trivial. Estoy desarrollando una aplicación web en java usando Spring. Tengo otro proyecto para ejecutar las pruebas de TI que establece la API y realiza un montón de pruebas.

Las pruebas duran ~6 minutos en Linux y Windows (y cuando esto es lo primero que hago después de reiniciar mi mac). Cuando las ejecuto en mi mac tardan mucho tiempo (~30 minutos y siguen) Observo en el Monitor de Actividad que la CPU está inactiva en un 90% después de que la API se haya iniciado y las pruebas comiencen a ejecutarse. Los procesos Java usan ~0,5% de la CPU. Todavía hay ~7 GB de memoria libre.

Ejecutar esto en otros entornos (p. ej. Linux) suele ocupar la mayor parte de los recursos disponibles (casi el 100% del uso de la CPU y la memoria)

¿Puede alguien ayudarme a resolver este problema? ¿Tiene OS X alguna limitación en cuanto al uso de la CPU para los procesos java?

Puedo proporcionar más información pero necesito saber dónde buscar.

0 votos

¿Su "suite" de pruebas informáticas está disponible al público?

0 votos

¿preguntas por las fuentes del proyecto? No está disponible en público.

0 votos

¿Lo ejecuta a través de la línea de comandos o de un IDE? (Algunos IDEs afectan negativamente al rendimiento). Además, ¿el programa lanza algún error no capturado?

1voto

dan_waterworth Puntos 3169

¿La salida de la consola ralentiza la aplicación? ¿La aplicación utiliza System.out o un marco de registro como log4j?

Yo sólo resolvió un problema similar para una aplicación Java y el comportamiento se produjo después de una actualización - el registro de consultas lentas de MySQL mostró que la inserción estaba tardando 1 segundo, pero en realidad una inserción por lotes se estaba dividiendo en 1000 algunas inserciones después de que el comportamiento por defecto en el controlador JDBC cambiara de estar desactivado el auto commit para los commits por lotes a tenerlo activado (lo que me obligó a desactivar manualmente el auto commit para las inserciones por lotes).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X