Распределение памяти в Tomcat - PullRequest
4 голосов
/ 09 декабря 2011

Следуя совету, я только что добавил следующую строку в файл catalina.bat в своей установке tomcat 6.0.26:

set JAVA_OPTS =% JAVA_OPTS% -Xms128m -Xmx512m -XX: MaxPermSize = 128m

Я знаю, что настройки:

Xms128m -Xmx512m

Управление начальным размером кучи и тем, что он может увеличить,Но что именно:

-XX: MaxPermSize = 128m

Слово от Tomcat:

Следуя советам, найденным в других местах в Интернете

Всегда принимать с большими кусками соли.

set JAVA_OPTS =% JAVA_OPTS% -Xms128m -Xmx512m -XX: MaxPermSize = 128m

Вы были былучше использовать CATALINA_OPTS, поскольку настройка JAVA_OPTS бессмысленно влияет на сценарий завершения работы, а также на сценарий запуска.

Я знаю, что настройки: Xms128m -Xmx512m

Управление начальным размером кучи и чтоон может расширяться до.

В серверной среде обычно требуется, чтобы Xms и Xmx устанавливали одно и то же значение, чтобы избежать переворота кучи.Точный размер полностью зависит от того, что нужно вашим веб-приложениям.

Но что именно: -XX: MaxPermSize = 128m

Это объем пространства, до которогоназываемое постоянное поколение может расширяться.PermGen содержит в основном экземпляры java.lang.Class, поэтому его необходимо указывать только в том случае, если в вашей среде имеется большое количество классов.

Если для него задано добавление других настроекили другие настройки для его добавления?

Что означает этот вопрос?Размер PermGen полностью не зависит от размера кучи.

Убедитесь, что в системе достаточно оперативной памяти для поддержки Xmx + PermGen + a_lot_of_other_stuff.Следите за системой, чтобы убедиться, что вы не входите в пейджинг.

1 Ответ

2 голосов
/ 09 декабря 2011

Этот пост объясняет это лучше, чем я.Этот размер соответствует размеру этого постоянного поколения в статье.

Также см. здесь

...