2009-05-26 7 views
16

Tengo un código Java con el siguiente comando: capacidad de memoria RAMEvitar la memoria de la pila inicial de error de tamaño

$ java -Xms4G -Xmx4G myjavacode 

Mi CPU es de 6 GB.

Sin embargo, siempre fallará en darme este mensaje de error :

Invalid initial heap size: -Xms5G 
The specified size exceeds the maximum representable size. 
Could not create the Java virtual machine 

¿Hay alguna manera de configurar la opción de Java, por lo que podemos ejecutar el código?

+0

¿Qué JVM estás usando? –

+0

@roland: jdk1.6.0_14/bin/java – neversaint

+4

¿Estás seguro de que estás ejecutando la JVM de 64 bits? Esa gran cantidad de memoria no puede abordarse en 32 bits. – diciu

Respuesta

15

Ha excedido el tamaño de almacenamiento dinámico máximo de su JVM. Esto depende tanto de JVM como del sistema operativo. En la mayoría de los sistemas de 32 bits, el valor máximo será de 2 Gb, independientemente de la memoria física disponible.

+3

En Windows de 32 bits, el límite está más cerca de 1,3 GB –

+0

Recibo el error 'Tamaño de pila inicial no válido: -Xms256m -Xmx512m' en un sistema con 16GB de RAM (14GB gratis) –

3

En realidad, el tamaño máximo de memoria en los sistemas de 32 bits puede variar, siendo cualquier cosa hasta 4 GB, pero 2 GB es un valor común. A menudo es posible volver a vincular su kernel para aumentar esto a 3 o 3,5 GB. El problema, por supuesto, es que simplemente no tiene el espacio de direcciones para mapear más memoria. ¿Has probado una máquina de 64 bits?

Además, recuerde configurar su ulimit más alto antes de hacer esto.

9

Por defecto, Java se ejecutará en modo de 32 bits. Asegúrese de darle la opción -d64 para ponerlo en el modo de 64 bits. Una vez en el modo de 64 bits, no debería tener problemas para asignar una JVM de 6 GB.

+2

¿Quiere decir que también se ejecuta una JVM de 64 bits en modo de 32 bits por defecto? – Pacerier

+0

Mi problema se resolvió con este parámetro -d64 en Solaris Sparc de 64 bits con Java (TM) SE Runtime Environment (compilación 1.6.0_21-b06) java. Gracias –

Cuestiones relacionadas