Foros del Web » Programación para mayores de 30 ;) » Java »

Reiniciar Tomcat en Windows

Estas en el tema de Reiniciar Tomcat en Windows en el foro de Java en Foros del Web. Hola, me gustaría saber cómo se puede hacer esto desde línea de comandos o desde interfaz de usuario. Estoy desarrollando un sistema informático con Hibernate ...
  #1 (permalink)  
Antiguo 23/02/2011, 17:12
 
Fecha de Ingreso: febrero-2011
Ubicación: España
Mensajes: 51
Antigüedad: 13 años, 9 meses
Puntos: 1
Reiniciar Tomcat en Windows

Hola, me gustaría saber cómo se puede hacer esto desde línea de comandos o desde interfaz de usuario. Estoy desarrollando un sistema informático con Hibernate y estoy literalmente hasta los coj**** de las java.lang.OutOfMemoryError: PermGen space, el puñetero Hibernate consume memoria sin conocimiento y, pese a que la libero, al parecer no es suficiente, y ya estoy un poquito harto, porque cada vez que me pasa tengo que reiniciar el equipo.

Gracias!
  #2 (permalink)  
Antiguo 24/02/2011, 07:32
Avatar de nup_  
Fecha de Ingreso: noviembre-2010
Mensajes: 265
Antigüedad: 14 años
Puntos: 32
Respuesta: Reiniciar Tomcat en Windows

Hola:

En realidad no necesitas reiniciar windows, solo el tomcat.
Para ampliar el tamaño de la memoria PermGen necesitas pasarle un par de parámetros a la JVM.

Al inicio del fichero bin/catalina.bat adiciona lo siguiente:
set "JAVA_OPTS=-XX:PermSize=256m -XX:MaxPermSize=256m"

Donde 256 es la memoria Permanente q quieres reservar en Mb.

saludos;

Nup_
  #3 (permalink)  
Antiguo 24/02/2011, 11:50
 
Fecha de Ingreso: febrero-2011
Ubicación: España
Mensajes: 51
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Reiniciar Tomcat en Windows

Cita:
Iniciado por nup_ Ver Mensaje
Hola:

En realidad no necesitas reiniciar windows, solo el tomcat.
Para ampliar el tamaño de la memoria PermGen necesitas pasarle un par de parámetros a la JVM.

Al inicio del fichero bin/catalina.bat adiciona lo siguiente:
set "JAVA_OPTS=-XX:PermSize=256m -XX:MaxPermSize=256m"

Donde 256 es la memoria Permanente q quieres reservar en Mb.

saludos;

Nup_
Ya, ya sé que NO tengo que reiniciar Windows, es lo que estaba preguntando precisamente, cómo reiniciar Tomcat desde Windows?

Gracias!
  #4 (permalink)  
Antiguo 24/02/2011, 14:06
Avatar de nup_  
Fecha de Ingreso: noviembre-2010
Mensajes: 265
Antigüedad: 14 años
Puntos: 32
Respuesta: Reiniciar Tomcat en Windows

Hola:

Dentro de la carpeta bin de tu instalación de tomcat deben estar estos 2 scripts:
startup.bat
shutdown.bat

El primero sirve para iniciar el tomcat y el segundo para pararlo.
Si lo tienes como un servicio pues es simplemente reiniciar el servicio.
De todas formas debido a el problema q te está dando creo q también deberías aumentar la memoria PermGen.

saludos;

Nup_
  #5 (permalink)  
Antiguo 25/02/2011, 12:48
 
Fecha de Ingreso: febrero-2011
Ubicación: España
Mensajes: 51
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Reiniciar Tomcat en Windows

Sigo teniendo el mismo problema, es decir, me salta la excepción PermSize, y además no me es suficiente con ejecutar shutdown.bat desde el CMD, sino que tengo que reiniciar el equipo.

Aumentar el PermSize está muy bien, pero las memory leaks siguen existiendo y ése es el problema que quiero atacar. No sé como hacerlo ya que siempre hago session.flush() de la sesión de Hibernate, pero esto al parecer no es suficiente para eliminar todos los pojos de la zona de memoria asignada a Tomcat en la máquina virtual. Si cierro la sesión de Hibernate, con un session.close(), todo deja de funcionar.

Tenéis alguna idea?

Un saludo.
  #6 (permalink)  
Antiguo 25/02/2011, 13:00
Avatar de nup_  
Fecha de Ingreso: noviembre-2010
Mensajes: 265
Antigüedad: 14 años
Puntos: 32
Respuesta: Reiniciar Tomcat en Windows

Hola Windu:

La PermGen no tiene nada q ver con los memory leaks. Los memory leaks afectan la memoria Heap, la PermGen es para cargar las clases q se utilizan en tu aplicación. Si usas muchas librerías, aún si no creas muchos objetos, la PermGen se te va a agotar y no hay nada q puedas hacer. Excepto crear tu propio ClassLoader q detecte la clases de tu aplicación q no se van a usar más y las 'descargue'.

Sino va a aumentar el tamaño de la PermGen entonces intenta buscar y eliminar todas las librerías de tu proyecto q no se usen.

Échale un ojo a esto:
http://www.programacionenjava.com/bl...space-failure/

saludos;

Nup_
  #7 (permalink)  
Antiguo 25/02/2011, 15:59
 
Fecha de Ingreso: febrero-2011
Ubicación: España
Mensajes: 51
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Reiniciar Tomcat en Windows

Cita:
Iniciado por nup_ Ver Mensaje
Hola Windu:

La PermGen no tiene nada q ver con los memory leaks. Los memory leaks afectan la memoria Heap, la PermGen es para cargar las clases q se utilizan en tu aplicación. Si usas muchas librerías, aún si no creas muchos objetos, la PermGen se te va a agotar y no hay nada q puedas hacer. Excepto crear tu propio ClassLoader q detecte la clases de tu aplicación q no se van a usar más y las 'descargue'.

Sino va a aumentar el tamaño de la PermGen entonces intenta buscar y eliminar todas las librerías de tu proyecto q no se usen.

Échale un ojo a esto:
[url]http://www.programacionenjava.com/blog/2008/03/28/j2ee/causas-y-solucion-de-javalangoutofmemoryerror-permgen-space-failure/[/url]

saludos;

Nup_
Ya pero todos los pojos se cargan en la memoria, y es lo que en mi opinión provoca la PermGen. Antes de usar Hibernate nunca me había pasado, y llevo mucho tiempo desarrollando en Java...

Hay algún modo para evitar que la PermGen llegue al límite (aparte de aumentar la memoria, claro). Y sobre todo, cómo reinicio el Tomcat en Windows?

Gracias!

Etiquetas: reiniciar, tomcat, windows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:10.