2011-03-18 21 views
6

¿Cuánta memoria puede usar un servidor (Jboss, Tomcat, etc.)? Por ejemplo, si el servidor tiene 128 gb de memoria, ¿puede usar al menos 100 gb de él? Estoy usando estos parámetros para mi local:Servidores de aplicaciones Límite máximo de memoria

-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512 

¿Se pueden configurar estos parámetros para el uso de 100 gb?

+0

Espero que mi respuesta haya ayudado. Aunque esto no es específico de JBoss, ¿tal vez puede editar la pregunta para especificar Java? – WhiteFang34

+0

Tu respuesta está relacionada con Java pero mi pregunta no. Escuché que el límite máximo de memoria de tomcat no se puede aumentar tanto como JBoss. Es por eso que hice esta pregunta. ¿Tal vez has escuchado acerca del problema del límite máximo de memoria de los tomcats? – MartK

+0

No hay diferencia entre JBoss y Tomcat en términos de que pueden usar más memoria. Ambos están limitados por la memoria para la que está configurado Java. – WhiteFang34

Respuesta

8

Usamos esto para ejecutar un 24 GB JVM de 64 bits con pausas inferiores a un segundo GC mientras servía más de 100 solicitudes de página por segundo:

-Xms24g -Xmx24g -XX:MaxPermSize=256m -XX:NewRatio=4 -XX:SurvivorRatio=8  
-XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+DisableExplicitGC 
-XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSClassUnloadingEnabled 
-XX:+CMSScavengeBeforeRemark -XX:CMSInitiatingOccupancyFraction=68 

No debería haber ninguna razón por la que no puede especifique 100 GB si su servidor tiene memoria. Como usamos menos de 32 GB, también usamos -XX:+UseCompressedOops para reducir la sobrecarga del direccionamiento de 64 bits. Además, usamos -XX:+UseLargePages para un mejor rendimiento, sin embargo, primero tiene que habilitar el soporte de páginas grandes para su sistema operativo.

3

Te encontrarás con (probablemente) dramáticas pausas de GC para ese tipo de tamaño de pila. (Aparte de eso, no sé de limitaciones duras, siempre y cuando se está ejecutando una máquina virtual de 64 bits, por supuesto)

no directamente relacionados con su pregunta, pero me encontré con este Google TechTalks video on Ehcache interesantes - Greg Luck conversaciones sobre el montón problemas de tamaño allí.

+0

Gracias por la información adicional :) – MartK

4

Como dijo Mat, esos enormes montones podrían ser problemáticos con Garbage Collection, pero luego con un gran montón, probablemente estés usando una máquina multi-core, donde puedes usar un colector que básicamente funciona en un núcleo propio .

De lo contrario XM acepta una unidad de 'g' para que pueda escribir -Xmx100g

página del manual de java (en OS X) dice:

En las plataformas Mac OS X, el límite superior para este valor cuando se ejecuta en modo de 32 bits (-d32) es aproximadamente 2100m menos importes y aproximadamente 127t menos gastos generales cantidades cuando se ejecuta en modo de 64 bits (-d64). En las plataformas Solaris 7 y Solaris 8 SPARC , el límite superior para este valor es de aproximadamente 4000m menos los gastos generales. En las plataformas Solaris 2.6 y x86, el límite superior es aproximadamente 2000 m menos importes generales. En plataformas Linux, el límite superior de es de aproximadamente 2000 m menos montos de gastos generales.

+0

Esto será muy útil, gracias por la respuesta. – MartK

Cuestiones relacionadas