Мне также немного неясно по этому вопросу, но если вы имеете в виду, какое число лучше использовать для максимального размера permgen, оно будет зависеть от вашего приложения и количества загруженных классов / методов. Чтобы помочь определить их, вы можете запустить ваше приложение с его типичными и наиболее интенсивными вариантами использования и использовать JConsole и посмотреть, что ваше приложение фактически использует.
JConsole может отображать все ваши кучи и пространство постоянного генерирования, чтобы вы могли таким образом определить, какое число требуется для MaxPermSize. Поскольку это данные класса + метод, он будет зависеть от того, сколько классов загружает ваше приложение, а не сколько экземпляров. Обратите внимание, что он также отделен от размера кучи (и фактически JConsole классифицирует использование памяти как использование памяти без кучи). На странице JConsole, которую я связал, см. Рис. 5. Это самая правая не куча, и на нее можно щелкнуть.
В Java 6 приложения будут разрешать соединения из JConsole без дополнительной настройки. В Java 5 может потребоваться установить некоторые флаги. Он входит в комплект поставки JDK.
Для справки, для приложения, в котором загружено ~ 10 000 классов, наш MaxPermSize составляет 96 м