2011-09-11 4 views
2

BEA рекомендует хранить как минимальные, так и максимальные размеры кучи. Они не уточнили причину этого предложения. Может ли кто-нибудь предоставить подробную информацию?JVM рекомендации по минимальной куче рекомендации?

У меня также есть еще одна рекомендация от архитектора, который ничего не устанавливает для минимума и просто устанавливает максимум. Любые комментарии по этому поводу? Если я его не использую, что будет по умолчанию?

Каков наилучший инструмент для мониторинга и настройки настроек JVM. Я использую JDK1.6, на веб-сайте BEA 10g. Это на Linux 32bit JVM.

Максимальный размер кучи до 2 ГБ. У сервера много оперативной памяти. В настоящее время он настроен на 1,5 ГБ, и он работает на 80%, когда 40 одновременно работающих пользователей. Спасибо,

ответ

1

Когда JVM необходимо увеличить размер кучи, он будет вызывать полную сборку мусора, которая может уменьшить пропускную способность или вызвать паузу, поэтому я думаю, что это рекомендуется им по соображениям производительности.

Значение по умолчанию: documented как 2MB, поэтому, если вы не переопределяете его, вы можете получить много (возможно очень быстрых) полных коллекций после запуска, поскольку куча часто изменяется.

Если вы пытаетесь как можно меньше оставить след памяти, я бы посоветовал вам совет.

Невозможно сказать по приведенной информации, если 2GB является подходящим, или если объекты, которые занимают в нем пространство, все еще находятся в сфере охвата - старое поколение будет постепенно заполняться, пока не закончится свободное пространство, когда полная коллекция будет вызываться. Откуда эта цифра составляет 80%?

Используйте следующие аргументы виртуальной машины Java для входа деталей GC в файл под названием gc.log:

-verbose:gc -XX:+PrintGCDetails -Xloggc:gc.log 

Затем вы можете анализировать это, используя что-то вроде http://www.tagtraum.com/gcviewer.html

Смежные вопросы