Причины рекомендации минимального размера кучи JVM? - PullRequest
2 голосов
/ 12 сентября 2011

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

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

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

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

1 Ответ

1 голос
/ 11 января 2012

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

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

Если вы не пытаетесь сохранить минимальный объем памяти, я бы следовал совету BEA.

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

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

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

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

...