Максимальный размер кучи JVM
Для приложения я использую настройки кучи JVM Max при запуске как в тестовой среде, так и в производственной системе. Когда я подключаюсь через JMX для мониторинга приложения, я вижу, что максимальный размер кучи рабочего приложения не совпадает с тестовым приложением. Я использую -Xmx2000m как в тестовой среде, так и в 1,864,171,520 B, а на производстве получаю 2,009,726,976 B.
Так что мои вопросы: достоверна ли эта информация? Версии Java и машины идентичны (Mac OS X 10.5).
-Если эта информация достоверна, то что может быть причиной и как ее можно изменить, чтобы обе системы вели себя одинаково при настройке максимального размера кучи.
1 ответ
JVM не будет автоматически распределять объем памяти -Xmx, поэтому очень незначительные различия в среде могут привести к тому, что две виртуальные машины получат разные размеры процессов (а для 2 ГБ 139 МБ и, возможно, небольшая разница, нет?)
Смотрите этот пост на использование памяти JVM.