Estoy desarrollando una aplicación web usando java + gwt y NetBeans 6.9.1 + Glassfish 3.0.1. Después de algunas horas de desarrollo, las prestaciones de mi sistema se degradan, por lo que siempre compruebo el Monitor de actividad si algún proceso obtiene toda la memoria o la CPU. Siempre noté un par de procesos llamados 'java' que engendran alrededor de 50-60 hilos. Mi sistema es muy lento hasta que los mate, entonces puedo volver a trabajar normalmente.Muchos hilos y uso de memoria para procesos 'java' en Mac OSX 10.6.7
Uso el modo de depuración de NetBeans durante el desarrollo, pero incluso cuando detengo el modo de depuración, el proceso de java sigue degradando el rendimiento del sistema hasta que lo mato. También experimento a veces el error "java.lang.OutOfMemoryError: Java heap space", sucede después de varias horas (digamos 12-16) que se abre mi NetBeans istance (esto me pasa con la misma versión de NetBenas también en un entorno Linux)) En este caso, tengo que cerrar y volver a abrirlo para que vuelva a compilar/trabajar.
¿Alguien experimentó los mismos problemas y/o sabe cómo evitarlos? ¿Crees que este problema podría ser causado por algún tipo de problema en la aplicación que estoy desarrollando o podría ser una falla o un error de memoria de Netbeans?
Lo primero que debe hacer: Averiguar, qué aplicación Java (NetBeans, GlassFish, ...) es ejecutado por la mayoría de estos procesos. Puede usar 'ps ax | grep java | sed G' en un Terminal para conocer la línea de comando (observe especialmente el último argumento de cada línea). –
Parece que el proceso padre es NetBeans. Por cierto, GlassFish es iniciado por NetBeans, así que no puedo asegurarlo. Voy a intentar iniciar GlassFish manualmente antes de iniciar NetBeans. –
Ok, comenzando Glassfish manualmente obtengo instantáneamente un proceso Java con más de 50 hilos, incluso con NetBeans cerrado. ATM el sistema no es lento, pero las prestaciones aún se degradan después de varias horas de desarrollo con Netbeans. –