![]() |
Error de heap Hola a todos:adios: , estoy realizando una migracion de datos y me ha salido el siguiente error:'( Exception in thread "main" java.lang.OutOfMemoryError: Java heap space He realizado migraciones anteriormente y nunca me habia salido.:no: Alguien sabe a que se debe y como solucionarlo.:pensando: Yo diria que he cerrado todos los PreparedStatemen, ResultSets, ect que voy haciendo... por eso me extraña.:-( Lo unico que no cierro son la conexiones, pq las voy re-utilizando. Esto es una desesperación!:neurotico :neurotico Programo con el netBeans 4.1 bajo Xp. Muchas gracias por todo.:adios: Editando: ¿Y si ejecuto el System.gc(); cada 1000 registros? |
Eso es por que estas llenando la memoria, ya que estas cargando demasiadas cosas en el programa. Y no, llamar a System.gc() no te ayudará en absoluto ya que eso es lo que hace la JVM antes de dar un java.lang.OutOfMemoryError. La solución pasa por no cargar todo en memoria si no que ir cargando sólo lo que se necesite y despues vaciarlo, y/o aumentar la memoria disponible de la JVM segun los comandos disponibles al lanzarla. Más información: http://www.google.com/search?hl=es&q...eda&lr=lang_es |
puedes tambien elevarle el limite a la heap en Java (si es que tienes mas memoria fisica disponible). Por ejemplo, ponerle el limite a 256MB: java -Xmx256m <laClase> pero sigue el consejo de Greeny, trata de optimizar tu codigo; migraciones no me suena como una aplicacion intensiva con respecto a memoria. |
Teniais razon :arriba: , me habia dejado de cerrar un par de Prepared statement.:borracho: Muchas gracias.:arriba: :arriba: |
y donde se pone java -Xmx256m <laClase> podrias facilitar con un pequeño ejemplo |
| La zona horaria es GMT -6. Ahora son las 03:55. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.