2010-01-29 19 views
5

Al ejecutar el mismo proceso java (un jar) en Windows y Linux (Debian), el proceso Linux usa mucho más (12 MB frente a 36 MB), solo desde el inicio. Incluso cuando se intenta limitar el tamaño del almacenamiento dinámico con -Xmx/Xms/etc., permanece igual. Nada de lo que intento parece ayudar y el proceso siempre lleva 36 MB. ¿Qué explica esta diferencia entre Linux y Windows y cómo puedo reducir el uso de memoria?Diferencia de uso de memoria Java entre Linux y Windows

EDIT: Mido la memoria con el administrador de tareas de Windows y el comando superior de Linux. Los JVM son iguales y ambos son sistemas de 32 bits.

+1

¿Qué más es diferente, además del sistema operativo? ¿Diferente versión jvm? arquitectura diferente (por ejemplo, 64 bit vs 32 bit)? Tenga en cuenta que los sistemas operativos tampoco informan el uso de la memoria de la misma manera. Es notoriamente difícil medir el uso real de la memoria. – nos

+0

¿Cómo está midiendo el uso de la memoria? Sé que 'kill -QUIT $ PID' le dará algunas estadísticas sobre el uso de memoria en Linux, pero no está seguro de cuál es el equivalente para Windows. –

Respuesta

2

Recomiendo usar un generador de perfiles como VisualVM para obtener una vista más detallada de lo que está sucediendo.

0

Una pregunta que haría para ayudar a comprender mejor el problema es:

¿El perfil de memoria aspecto de mi aplicación Java drásticamente diferente en las dos plataformas? Puede responder esto ejecutando con -loggc y viendo el resultado en un visualizador de gc como HPjmeter. Debería tratar de ver un conjunto de muestras con una cantidad de datos estadísticamente significativa, tal vez de 1000 o 10000 parcelas de gc. Si la respuesta es no, me sentiría tentado a atribuir la diferencia que ve a los requisitos de asignación del montón de JVM para el inicio. Como 'nos' señaló, señalar la diferencia puede ser notoriamente difícil. Cuando especificó el valor -Xmx en Linux, ¿la utilización de la memoria excedió su valor de Xmx?

0

Probablemente también esté midiendo la memoria compartida

Cuestiones relacionadas