EVITANDO EL JAVA.LANG.OUTOFMEMORYERROR - .: .: Saiyine :. :.

Evitando el java.lang.OutOfMemoryError

Por Saiyine Enviar correo el 2007-11-10 12:27:37 - Secciones:  JAVA  - Enlace permanente: 798

Si tu programa en Java se queda sin memoria suficiente, tiene lugar el siguiente error:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

Se puede deber a dos motivos:

   * Que tu aplicación en Java tenga una perdida de memoria. Toca buscar el problema en el código, en breve os haré un post comentando el profiler que suelo usar, que me parece genial aunque a 400€ por licencia no creo que esté al alcance de todo el mundo.
   * Que tu programa realmente necesite un montón de memoria. En este caso, la memoria disponible la puedes incrementar llamando a la maquina virtual con estos parametros:

java -Xms<tamaño de inicio de la memoria> -Xmx<tamaño máximo>

Por defecto tenemos:

java -Xms32m -Xmx128m

Estos parametros se pueden pasar en diferentes puntos dependiendo del entorno que utilicemos para programar.

Otras entradas de la web que podrian interesarte:

Sin gravatar 1823
Banderita ITTehuacan (2008-02-10 09:31:20)

Disculpa , este problema me aparecio. Como dices es por qeu me excedo de memoria me parece genial que se peuda cambiar lso valores de ememoria pero en si como los aplico¿? esa es mi pregunta pusiste el codigo pero no se donde modificarla, me gustaria qeu nso expresaras como modificarlo en si ¡¡ Gracias
Buen aporte¡¡

Gravatar 1824
Banderita Saiyine (2008-02-11 08:21:39)

Hola,

depende de que editor estes usando. Por ejemplo, si es Eclipse, que es lo que tengo delante ahora mismo, tienes que ir a Run -> Open Run Dialog -> Arguments y poner en el campo de texto los valores, por ejemplo, -Xmx512m -Xms512m.

Gravatar 1918
Banderita MCKAY EMU TEAM : PICCORO (2008-02-26 12:12:25)

la aplicacion web trae un resulset de mas de 5000 filas, por lo taqnto se queda sin memoria, como configuro el entorno de el proyecto web para que le pase manualmente estos argumentos a la JVM

Gravatar 1919
Banderita MCKAY EMU TEAM : PICCORO (2008-02-26 12:15:04)

se me olvidaba, usa debian, tomcat5.5 oficial de debian, eclipse oficial de debian , java empaquetado por debian, y es un proyecto web

un servlet accede a una clase que trae unos resultset, pero como la cantidad de registros es tan grande (mas de 5000) se queda sin memoria!

Gravatar 1956
Banderita Josiko (2008-03-06 09:46:28)

hola mira estoy haciendo algo con Jdeveloper y me sale ese error. Por favor me podrias decir desde Jdeveloper 1012 como cambiar la configuracion de la memoria de JVM. Gracias desde ya!

Gravatar 2270
Banderita lisa (2008-05-23 10:54:42)

Hola Josiko xD, Para modificar las configuraciones de JDeveloper se debe especificar en los parametros de configuración de la JVM de JDeveloper lo siguiente :

Fichero : ...jdevinjdev.conf

En este fichero encontraremos casi todos los parametros que modifican la ejecución de Jdeveloper en su JVM.

(creo que es este parametro :? )
Para modificar el tamaño de la memoria se debe modificar el parametro : AddVMOption -Xmx512M

espero que te sirva buena suerte y saludos.;)

Sin gravatar 2403
Banderita Anonimo (2008-06-24 08:49:35)

Para jdeveloper no me ha funcionado bien, mejor tools->project properties -> run/debug -> java options

por ejemplo: -Xmx1024M

Gravatar 2621
Banderita Marco (2008-08-18 10:31:08)

Ese mensaje me aparece, estoy usando un Server rp5470 de HP y el programa de AAA que utiliza Java y de pronto ha estado apareciendo ese error:
java.lang.OutOfMemoryError

Gravatar 2897
Banderita Anonimo (2008-11-06 09:11:14)

Y como se hace si el problema es de un programa que no se debe modificar , mi pc tiene 1 GB de memoria, ¿ sera esto el problema? :o

Gravatar 3337
Banderita Jorge (2009-04-29 10:31:30)

Estimado,

Me aparece este error cuando estoy ordenando una matriz con 65,477 renglones y 36 columnas. Sin embargo, he leído tu recomendación pero debido a que soy un principiante en JAVA en el IDE de Neatbeans para windows, mi pregunta es: ¿En que parte del código pongo la sentencia java -Xms<128> -Xmx<256>? ¿o cómo es que hago este cambio en la JVM?.

Agradeceré tu pronta respuesta,

Muchas gracias!
Jorge

Gravatar 3340
Banderita Derby (2009-04-30 07:10:55)

Me encuentro en un problema similar al de Jorge mi Paisano...

Estoy usando Netbeans para Windows... y me marca el error en un arreglo... mi pregunta es...

Donde debo colocar la sentencia java y cual debe ser dicha sentencia?

Gracias

Gravatar 3342
Banderita Saiyine (2009-04-30 09:17:12)

En Netbeans, id al menú Run, despues a Set Project Configuration y seleccionad Customize. Saldrá una ventana que, entre otras cosas, permite cambiar las "VM Options" y de hecho, el ejemplo que sale es el de cambiar la memoria.

Gravatar 3386
Banderita steelhert (2009-05-18 03:29:36)

una pregunta pliz
saves como solucionar esto me ta volviendo loco ya que se deve por que me parese que no es solo de la memorya:

java-lang.uotofmemoryerror: request 12bytes for chespobj-new.out swap space

internal error allocations. inline,hpp:42,pid=5500.tid=1548

error:cheapoh-new

java vm:jaba hotspot tm cliente vm 11.3-b02 mixed mode windows-86
anerror report file wich more informaton is save as :
c serevr/gameserver/hs-err-pid5500.log
si me lo puedes explicar

-atte: muchas gracias de por si

Gravatar 3418
Banderita Jorge (2009-05-27 03:33:54)

Estimado Saiyine, gracias por contestar a mi pregunta acerca de cómo cambiar el java heap space en Netbeans, sin embargo, en tu contestación he seguido los pasos, pero la cuestión es que no está dicha opción de "Set Project Configuration" bajo el menú de RUN. He de comentarte que uso Netbeans 5.5.1, y en dicha versión en el menú de RUN no viene la opción "Set Project Configuration". Saiyine, ¿Usas alguna otra versión de Netbeans? o ¿podrás decirme en dónde puedo cambiar el heap space en netbeans 5.5.1?

Te agradezco mucho tu tiempo y atención en leer mi comentario,

Saludos,
Jorge

Gravatar 3419
Banderita Saiyine (2009-05-27 04:44:58)

Jorge,

lamentablemente, solo tengo acceso desde aqui a las versiones 6.5 y 6.0 de NetBeans.

Por lo que veo, en la versión 6.0 el Set Project Configuration está en el menú Build, quizas en la 5.5 tambien esté ahí.

Gravatar 3502
Banderita milo (2009-06-25 09:43:33)

Hola

A mi me da el mismo error se me acaba la memoria, como hago para aumentarle mas memoria en JCreator 4.50

MUCHAS GRACIAS

Gravatar 3665
Banderita caro (2009-08-24 07:24:40)

Hola:

estoy programando en matlab necesito poder ver una matriz de tamaño 11553KB dat
y me sale el cartelito "Java heap space".En este caso puedo mejorar esta memoria
solo se me ocurre extender la memoria virtual de la maq pero no funciona auxilio!

Gravatar 3666
Banderita Saiyine (2009-08-25 12:00:19)

Dice Google que en Matlab puedes configurar la maquina virtual de java con un fichero llamado java.opts y ponerle la cadena -Xmx128m.

Como no uso Matlab, no se decirte donde se pone ese fichero exactamente, Google solo dice que va en "directorio de matlab"/bin/"arquitectura"/.

Gravatar 3836
Banderita Javier (2009-10-07 08:11:55)

Hola a todos, vuelvo y retomo lo que pregunta Milo.

A mi me da el mismo error se me acaba la memoria, como hago para aumentarle mas memoria en JCreator 4.50

Por favor, necesito la respuesta porque no he podido que mi .jar quede con los parametros de minimo y maximo de memoria.

Muy importante, gracias.

Gravatar 3837
Banderita Saiyine (2009-10-07 08:52:23)

Si te refieres a que en tu jar queden "grabados" los parametros de memoria, me da la impresión de que no se puede hacer, en Google dice todo el mundo de hacer un .BAT y ejecutar desde ahi, aunque me parece algo raro.

Gravatar 3838
Banderita Javier (2009-10-07 09:10:02)

Saiyine gracias por responder tan pronto.

Ya que estamos conectados te quiero explicar mi problema.

Lo que tu dices de que el .jar quede con la propiedad de memoria es precisamente lo que quiero porque cuando ejecuto mi .jar el llega a 128mb y se sale automaticamente lo cual es grave para la empresa que lo va utilizar. Si me puedes colaborar incluso con el .BAT te lo agradezco y creo que ayudamos a muchos desarrolladores que tendran o tienen este mismo problema.

Gracias, atento!

Gravatar 3839
Banderita Saiyine (2009-10-07 09:49:12)

Ah, bueno, el .BAT no tiene mucho misterio, yo haria algo como...

@javaw -Xmx512m -jar fichero.jar

Habia olvidado otra opción, podrias usar programas tipo JSmooth que convierten tu .JAR en .EXE, y al generar este se le pueden pasar parámetros para la ejecución.


Gravatar 3840
Banderita Javier (2009-10-07 10:11:31)

Saiyine gracias por tu ayuda, sin embargo no me funciona, incluso mando el SET del jre6 para que el java -jar -Xmx512m fichero.jar se ejecute, pero no funciona.
Si tienes un .BAT que te funcione y que lo hallas probado, te lo agradecería.

Gracias.

Gravatar 3841
Banderita Saiyine (2009-10-07 10:28:55)

Algo haces mal, porque ese es el comando que debes usar. Por ejemplo, ¿que dices de un SET? Si tienes que andar con esas cosas es que no tienes bien el sistema.

Gravatar 3842
Banderita Javier (2009-10-08 01:40:54)

Muy bien Saiyine, mi problema fue que el .bat no lo estaba ejecutando dentro de la carpeta del jre6. Ya me funciona pero como todo, no hay felicidad completa porque cuando lo ejecuto la consola CMD sale junto con la aplicacion Java lo cual me parece nada elegante, pero bueno ese es el precio a pagar si lo hago por esta via, intentare con el Jsmooth si consigo un resultado mejor. Si lo logro de manera completa y como debe quedar, publicare como lo hice.

Gracias por la ayuda, si tengo alguna duda te escribo nuevamente.


Gravatar 3847
Banderita Javier (2009-10-09 12:11:51)

http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=jsmooth

Gravatar 3850
Banderita Javier (2009-10-10 12:41:55)

lo del icono no me compilaba porque le estaba referenciando un .ico, lo que hay que hacer es enrutarlo a un .jpg y listo, toma esa imagen y la convierte en el icono del .exe.

Sin gravatar 4024
Banderita Anonimo (2009-12-01 12:57:08)

"Que tu aplicación en Java tenga una perdida de memoria."

Para eso esta el recolector de basura, a ver si aprendemos un poco de java.

Gravatar 4035
Banderita Saiyine (2009-12-03 01:03:21)

Buena suerte si esperas que el recolector de basura reconozca todos los objetos que deben ser liberados.

O a lo mejor si que sabes como hacerlo, en cuyo caso te rogaria que te pusieras en contacto con Sun antes de que liberen Java 7.

Mientras, el resto de simples mortales seguiremos trabajando con profilers.

Sin gravatar 4345
Banderita Anonimo (2010-04-05 13:08:28)

:OO

Sin gravatar 4346
Banderita Anonimo (2010-04-05 13:08:55)

8)

Gravatar 4605
Banderita Saiyine (2010-06-28 15:35:57)


Sin gravatar 4687
Banderita Anonimo (2010-07-19 15:49:27)

:x :x :P :OO 8) :? :? :? :? :? :? :? :? :noworry: :noworry: :noworry: :noworry: :push: :roll: :push: :OO 8O :) :? :D :D :P :x ;)xD 8) :noworry: ;) :o ;)^^xD :x :o :| :P :? :) :( 8O 8) :OO :push: :push: :roll: :huh: :roll: :noworry: :noworry: :push: :D :? :P :o :|;)^^xD

Gravatar 5063
Banderita sibok666 (2011-02-09 16:17:23)

:OO q bueno el post estoy trabajando con jasper reports y netbeans, y hago un reporte con muchisisisimos registros asi q en netebans en el menu ejecutar--->personalizar--->luego dice algo de parametros adicionales y ahi le pones el comando -Xms32m -Xmx128m y ya esta listo.
Gracias Saiyine. buen trabajo.

Gravatar 5350
Banderita girl23 (2011-07-05 15:08:32)

Hola, estoy trabajando en un proyecto donde utilizo el servidor de mapas Geoserver, y al tratar de visualizar las capas de una cartografía me sale este mismo error. Que podría hacer para solucionarlo? Gracias!!!!!

Gravatar 5351
Banderita Saiyine (2011-07-05 16:19:36)

Es el mismo problema. ¿Como arrancas el proyecto? ¿Dentro de un editor, linea de comandos o icono de Windows?

Sin gravatar 5412
Banderita Anonimo (2011-07-31 20:25:08)

Probad esta herramienta, es gratis y a mi me ha identificado, incluyendo la línea de código dos leas en el entorno de producción 30 minutos sin hacer nada:
http://ctoblog.lucierna.com/ultimate-weapon-lucierna-kill-memory-leaks/

Gravatar 5413
Banderita Saiyine (2011-07-31 23:40:56)

No se vosotros, pero quien espere que me registre para poder acceder a una descarga va listo, por no hablar de que, en cualquier caso, le daria un correo falso, por lo que seria una perdida de tiempo para esa persona y para mi, un poco como los captchas.

Tampoco entiendo que hace, parcialmente por el inglés macarrónico. Realmente, ¿te dice donde hay perdidas de memoria, o se limita a exponer los objetos que más memoria gastan?

Sin gravatar 5428
Banderita Anonimo (2011-08-11 21:46:57)

hola m gustaria saber si esto se puede hacer a los juegos java para poder jugarlos en un phone q no lo soportehola m gustaria saber si esto se puede hacer a los juegos java para poder jugarlos en un phone q no lo soporte

Gravatar 5429
Banderita Saiyine (2011-08-11 21:56:22)

¿Un juego te da ese error? Si es un fichero .jar, es simplemente un .zip renombrado, quizás puedas echar un vistazo dentro por si hubiera algún archivo de configuración.

Sin gravatar 5616
Banderita Oscar (2012-01-10 15:44:18)

Buenas tardes,

Con Netbeans 7.0.1 y un proyecto web que maneja 1131 clases java me está dando este error.

Siguiendo las pautas de http://wiki.netbeans.org/FaqNetBeansAndOOME el error persiste, y buscando buscando en Google no he encontrado solución y la tuya se puede acercar más a lo que quiero.

Con alguna versión reciente de Netbeans te has encontrado con este problema?

Si es así agradecería mucho tu respuesta

Un saludo

Sin gravatar 5623
Banderita Alex (2012-01-19 21:13:54)

Hola, quisiera pedirles el favor me ayudaran con este problema. Mi aplicacion esta echa con adf en jdeveloper. Cuando la ejecuto con el jdeveloper que levanta el servidor de prueba la aplicacion levanta bien. El problema esta cuando quiero hacer el deployment en el servidor de weblogic 10.3.5 con soa 11.1.1.5. La version del Jdeveloper es 11.1.1.5. en el momento del deployment me da el siguiente error

[01:46:38 PM] Deploying Application...
[01:46:56 PM] Weblogic Server Exception: java.lang.OutOfMemoryError: Java heap space
[01:46:56 PM] See server logs or server console for more details.
[01:46:56 PM] java.lang.OutOfMemoryError: Java heap space
[01:46:56 PM] #### Deployment incomplete. ####
[01:46:56 PM] Remote deployment failed (oracle.jdevimpl.deploy.common.Jsr88RemoteDeployer)


La configuracion del servidor ya modifique los parametros de memoria en su archivo de configuracion.


Porian por favor ayudarme. Mil gracias

o o o o 


Tu nombre (Nick):

Tu correo (Email):
  Necesario para tu gravatar!

Tu página (URL):

Escribe aqui tu comentario:

       :noworry: :roll: :huh: :push: :OO 8) 8O :( :) :? :D :P :o :x :| ;) ^^ xD



Vista previa activada.

Vista previa (6/6/6, 6:66)


Fondos de pantalla

. . .

Recomendamos


. . .

Descargas

  • ApagaPC
    apagapc241.exe  (4339)
  • LimpiaDocus
    LimpiaDocus001.exe  (3627)
  • RCM
    rcm001.zip  (3062)
  • Popmail
    popmail-0.4-psmn.tar.gz  (3132)
  • Manual de Delphi en PDF
    delphi_pdf.zip  (3764)
  • Evangelio del Perl
    Evangelio_del_perl.pdf  (3786)
  • Excel Simpsons
    Excel Simpsons  (3789)
  • . . .

    Proyectos Online

  • Saiyine Store
  • Kunowalls!!!
  • Fondos de pantalla
  • Picaday: imagenes sexys o chocantes.
  • Scarlett: fotos de Scarlett Johansson
  • WhatsmyIP: obtener tu IP pública
  • Uma Thurman: galeria de Uma Thurman
  • FunPics: imagenes graciosas
  • . . .

    Blogs

  • Por lo que más querais, no entreis a estos: Tapanez, Yhandros, Onez.

  • Otros en español: El Mundo Today, La libreta de Van Gaal, Chavalina, Kirai, Mundo Geek, Microsiervos.

  • Mis lecturas en guiri: Michael Yon, Coding Horror, YCombinator news, MySQL Performance, Slashdot.

    . . .
  • Utilidades

  •  Coral  (1583), cacheando webs
  •  Spam.la  (1899), correo de usar y tirar
  •  Mailinator  (1802), correo de usar y tirar
  •  Bug me not  (1580), absurdos registros di NO
  •  Trashmail  (1629), correo de usar y tirar

    . . .

  • Página web ©2001-2011 Saiyine descargada en s, con 5908199 visitas en total, hoy (de un total de 0 previstas).

    . . .