2012-06-12 8 views
13

Tengo un problema de espacio dinámico. Mi programa es simple Hay dos actores (enviar & recibir) el actor "enviar" está pasando 10000 objetos por segundo para "recibir", y recibe la publicación de esos objetos. el objeto receptor recibido se está guardando en el contenedor, pero el contenedor se vacía cada segundo. Así que no hay posibilidad de que el contenedor se esté quedando sin espacio. Ahora, después de 420000 objetos, mi eclipse calza un error que dice "el actualizador de ioconsole ha encontrado el problema". Y cuando voy a los detalles veo el error Error interno :: Java montón de espacioSe está quedando sin espacio en el montón

He intentado aumentar el tamaño del montón. Mi tamaño de Heap es 8096m y maxpermsize es 4096

Estoy monitoreando mi código usando visualVm y estoy notando que no está excediendo el tamaño del montón. Totalmente en blanco como la forma de solucionar el problema.

¿Puede alguien decirme qué otros escenarios posibles pueden conducir a tales errores?

Respuesta

35

IOConsole es una clase de eclipse, no de su programa. ¿Está imprimiendo mucho en System.out? En Ventana> Preferencias busque "consola". Establezca algún tipo de límite para todos los búferes de la consola. Intente imprimir menos resultados del programa. Tal vez inicie sesión en un archivo en su lugar.

+0

Sí, no pude encontrar las líneas printf porque fue hecho por el archivo lagback.xml. A medida que cambió el estado en ese archivo, las líneas de registro se redujeron y el error se redujo. Muchas gracias .. – Rags

+0

desmarcando 'Fixed Width Console' resolvió la mina ... – KillBill

5

Se pueden añadir los siguientes argumentos de JVM para darle una idea del uso de la memoria y lo que el GC está haciendo:

-Xloggc:/tmp/gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps 
3

Este problema se ha producido debido al tamaño del buffer en la consola.

Solución:

Haga clic derecho en la consola -> Preferencias

límite de la consola.

0

Me encontré con el problema e intenté resolverlo cambiando la configuración de almacenamiento dinámico y memoria intermedia en eclipse. Sin embargo, no pude resolverlo. Luego noté que hay una pérdida de memoria en mi programa y que el número de subprocesos aumenta con el tiempo. El problema se resolvió después de que solucioné el error. Creo que la pérdida de memoria no es la razón más probable para ello, pero se debe considerar.

Cuestiones relacionadas