2008-10-04 2 views
1

Мне интересно, как бы вы хотели спроектировать хорошую строку пространства пермг в Java. На основе моих исследований и понимания, я придумал следующее:Как вы создаете хорошую строку пространства перменов в Java?

пример: JAVA_OPTS='-Xmx512m -XX:MaxPermSize=256m -server -Djava.awt.headless=true'

К сожалению пример не вставить, когда я первый отвечал на вопрос ......

ответ

5

I я также немного неясен в вопросе, но если вы имеете в виду, что такое хороший номер для использования в максимальном размере, он будет зависеть от вашего приложения и количества загруженных классов/методов. Чтобы помочь определить их, вы можете запустить приложение с его типичными и наиболее интенсивными примерами использования и использовать JConsole и посмотреть, что на самом деле ваше приложение использует.

JConsole может отображать все ваши кучи и пространство вашего постоянного поколения, поэтому вы можете определить, какой номер требуется для MaxPermSize таким образом. Поскольку это данные класса +, это будет функция количества загружаемых вами приложений, а не количества экземпляров. Обратите внимание, что он также отделен от размера кучи (и на самом деле JConsole классифицирует использование памяти как использование не-памяти). На странице JConsole, с которой я связан, см. Рисунок 5. Это самая правая часть без кучи и ее можно щелкнуть.

В Java 6 приложения разрешают подключения с JConsole без дополнительной настройки. В Java 5 вам может потребоваться установить несколько флагов. Он входит в состав JDK.

Для справки, для приложения, имеющего ~ 10000 классов, загружен наш MaxPermSize 96m

+0

Да, спасибо! Это именно то, что я ищу ... – 2008-10-04 18:31:33