Veo que con -Xmx2g, la memoria pico alcanza 1G y realiza las principales colecciones (selector de marcas). Con -Xmx3g, alcanza 1.5G y hace una colección importante. Con -Xmg4g, alcanza 2G y realiza colecciones importantes. Pero, desde aquí traté de aumentar la memoria máxima a 6G, 8G, 12G y todas las veces que la memoria pico alcanza 2G realiza colecciones importantes.El uso máximo de la memoria no va más allá de un límite
¿Cómo hacer que funcione más allá de 2G? No encontré ningún ajuste para esto. ¿Los -Xms importan aquí? Para esos -Xmx, hice -Xms la mitad de -Xmx.
Estoy usando Jetty, Java 1.6.024.
ACTUALIZACIÓN: Sí, estoy usando JVM de 64 bits. Las opciones de JVM que estoy usando son: -Xmx6g -Xms3g -XX: MaxPermSize = 256m La forma en que estoy determinando la memoria pico es mirando el gráfico de memoria en JConsole. Alcanza 2G y cae (colección principal). La generación anterior alcanza un máximo de 1.5G y luego ocurre una caída.
Gracias, Cochecitos.
¿Es razonable suponer que está utilizando una JVM de 64 bits? Vale la pena preguntar, porque la JVM de 32 bits tiene un límite de tamaño de 2 GB. – duffymo
Creo que es seguro decir que es una JVM de 64 bits, porque Java terminará sin ejecutar el programa en absoluto si especifica un tamaño de pila mucho más grande de 1500m (el límite exacto depende de JVM). – rob
¿Trataste de jugar con las propiedades -XX? –