Ver Mensaje Individual
  #7 (permalink)  
Antiguo 31/03/2016, 00:38
Avatar de Profesor_Falken
Profesor_Falken
 
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 4 meses
Puntos: 182
Respuesta: Vaadin 7 + Hibernate 4 + Spring 3

Buenas,

Entonces supongo que en la implementacion que has hecho de esos tabs tienes un importante memory leak.

Deberias utilizar algun profiler para detectar donde se esta produciendo. Puedes utilizar el profiler incluido en Netbeans, por ejemplo:
https://netbeans.org/kb/docs/javaee/...er-javaee.html

Para usarlo tienes que arrancar el servidor en 'profile mode' y navegar por las tabs para monitorizar en que momento se dispara la memoria utilizada.

Si no, tambien puedes utilizar otras herramientas gratuitas incluidas en el JDK como visualVM, por ejemplo: http://docs.oracle.com/javase/8/docs...ides/visualvm/

Como pistas te podria comentar lo siguiente:
-La seccion de memoria Permgen no contiene las instancias (que estan en el heap) sino las definiciones de clases y metodos.
-Un componente que ocupa muchos espacio en permgen son los drivers de conexion a base de datos.
-Revisa que la definicion del driver la realices de forma estatica una sola vez y no cada vez que accedes a la base de datos, ya que sospecho que es eso lo que te esta pasando.


Como nota final, comentar que con Java JDK 8 el Permgen ya no existe, por lo que probablemente ya no tengas otro problema. Ademas en esta version tampoco es necesario registrar el driver jdbc.


Un saludo
__________________
If to err is human, then programmers are the most human of us