¿Por qué no puedo reservar más de 3 Gb de RAM para la aplicación Java usando 11.10 de 32 bits?

¿Por qué no puedo reservar más de 3 Gb de RAM para la aplicación Java usando 11.10 de 32 bits?

Mi sistema informa 8 Gb, pero cuando intento reservar 6,5 Gb de espacio de almacenamiento dinámico, o incluso 4 Gb para un programa Java, falla. ¿Esto se debe a que instalé la versión de 32 bits?

No se puede asignar el montón java -Xmx3072m -jar {...}

Comienza bien, pero la aplicación se queda sin memoria. java -Xmx2048m -jar {...}

Respuesta1

Lo creas o no, esta es una pregunta frecuente. Entonces tu respuesta esaquí:

"El límite máximo de almacenamiento dinámico teórico para la JVM de 32 bits es 4G. Debido a varias limitaciones adicionales, como el intercambio disponible, el uso del espacio de direcciones del kernel, la fragmentación de la memoria y la sobrecarga de la VM, en la práctica el límite puede ser mucho menor. En la mayoría de los 32 modernos En los sistemas Windows de 32 bits, el tamaño máximo del montón oscilará entre 1,4 G y 1,6 G. En los núcleos Solaris de 32 bits, el espacio de direcciones está limitado a 2 G. En los sistemas operativos de 64 bits que ejecutan la máquina virtual de 32 bits, el tamaño máximo del montón puede ser. más alto, acercándose a 4G en muchos sistemas Solaris.

A partir de Java SE 6, la función Windows /3GB boot.ini no es compatible.

Si su aplicación requiere un montón muy grande, debe usar una máquina virtual de 64 bits en una versión del sistema operativo que admita aplicaciones de 64 bits. Consulte Configuraciones del sistema compatibles con Java SE para obtener más detalles. "

información relacionada