plans |
FAQ |
Código |
Chat |
login

java - gc, overhead, limit, exceeded

Layer-visible-off
0
Unfavorites
0

Tengo una aplicacion java montada en un servidor web compartido y me ha salido el siguiente error:

java.lang.OutOfMemoryError GC overhead limit exceeded

Exactamente que significa y que puedo hacer?

gracias de antemano.

4 months ago nebiros said:
 

Segun este hilo este error se presenta por que el garbage collector se toma un tiempo excesivo al realizar una operacion, mire la respuesta del hilo para mas informacion.


0

pues lo ideal es que comience a mirar porque la aplicación está comiendo tanta memoria, con la jvisualvm se puede hacer una idea de toda su aplicación y de lo que consume y para solucionar el problema lea acá http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html#par_gc.oom

answered 4 months ago
juan--d-_-b 2
from Colombia

0

Como dice Juan, es porque la aplicación consumió toda la memoria que tenia reservada la vm.
Puede ser por dos razones:

  1. Como dice efectivamente juan, tu aplicación esta haciendo un uso indebido de la memoria.
  2. El servidor de aplicaciones en el que estas desplegando esta con la configuración por defecto, la cual es de baja carga y para ello debes hacerle tuning para que soporte una carga mas pesada. Pero debes ser muy cuidadoso con esto debido a que puede ser un bug y solo lo estarías ocultando con el aumento de memoria.

    El tunning básico consiste en (ejem: tomcat):
  • Aumentar Initial Memory pool (Xms)cuyo valor por defecto 128m.
  • Aumentar Maximum Memory pool (Xmx) uyo valor por defecto es 256m.

Eso es lo basico del tuning hay cosas mas interesantes como configuración de la frecuencia de lanzamiento del garbage colector, numero de hilos, configuracion de la vm en modo server, etc.. Esto lo puedes encontrar en el link que te dejo Juan.

updated 4 months ago
jukdulinux 8 1
from Colombia
answered 4 months ago
jukdulinux 8 1
from Colombia