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

Memoria De Jvm!, alguien sabe si se puede agrandar la memoria asignada a la jvm!?

Estas en el tema de Memoria De Jvm!, alguien sabe si se puede agrandar la memoria asignada a la jvm!? en el foro de Java en Foros del Web. mi problema es el siguiente.. tengo construida una aplicacion que construye un indice invertido desde una base que contiene como 300.000 paginas web, esto es ...
  #1 (permalink)  
Antiguo 25/10/2005, 13:37
 
Fecha de Ingreso: octubre-2005
Mensajes: 13
Antigüedad: 18 años, 6 meses
Puntos: 0
Memoria De Jvm!, alguien sabe si se puede agrandar la memoria asignada a la jvm!?

mi problema es el siguiente.. tengo construida una aplicacion que construye un indice invertido desde una base que contiene como 300.000 paginas web, esto es un modulo de un buscador web, en el cual al hacer una consulta, las palabras de esta son buscadas en el indice, y si aparecen en el indice se recupera una lista de documentos en donde aparece esta palabra.. el problema, es que para hacer pruebas con consultas el indice necesita estar cargado en memoria principal!!, pero al correr la aplicacion se cae y manda un error de memoria, tengo 1 gb de memoria ram, y el indice en el disco duro pesa 15 mb, y al cargarlo en memoria, lo estoy haciendo en una tablaHash.. con la memoria que tengo deberia ser suficiente.. por lo que me imagine que alomejor se trata de un problema con la memoria asignada a la jvm.. si me explico bien.., a alguien se le ocurre algo para ayudarme??

saludos!, gracias!
  #2 (permalink)  
Antiguo 25/10/2005, 16:35
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
el problema debe ser que quiza estas haciendolo de una manera que consuma DEMASIADA memoria.
15 mbs de memoria en disco duro no son tantos como para que con un hash no lo puedas cargar.

Te manda error o excepcion?
seguramente lo que te manda esta dentro de las clases de java, podrias buscar en la api porque pasa y como controlarla o evitarla. Dudo que sea problema de la memoria asiganada a la JVM, si no, imaginate con grandes bases d datos que usen java.

Quiza estas haciendo ciclos de mas o la estas cargando mas veces o algo asi.

La otra solucion es que la vayas cargando parte por parte.

Si estas 110% de que nada de lo anterior es problema/solucion,entonces tal vez poniendo algo de la base de tu codigo pueda servir de ayuda.
  #3 (permalink)  
Antiguo 26/10/2005, 17:39
 
Fecha de Ingreso: octubre-2005
Mensajes: 13
Antigüedad: 18 años, 6 meses
Puntos: 0
me lanza una excepcion..

java.lang.OutOfMemoryError
Exception in thread "main"

y lo hago de la siguiente manera..

while ((linea = entrada.readLine()) != null) {
if(!linea.equals("")){
StringTokenizer token = new StringTokenizer(linea, " ");
String tok = new String();
if (token.hasMoreTokens()) {
tok = token.nextToken();
indice.put(tok, tok);
}
}
}

como vez solo estoy sacando la primera palabra por linea y la inserto en la tablaHash indice..

esto lo probe haciendo que escribiera en un archivo las palabras en vez de meterlas en la tablaHash y funciono correctamente.. pero cuando meto la tablaHash se cae..

no imagino otra cosa que un problema de memoria..

ya me mostraron como asignarle memoria a la jvm, lo voy a probar y te cuento..
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 03:22.