Как увеличить выделение памяти Tomcat


Если у вас возникли проблемы с производительностью Tomcat, распространенной причиной является отсутствие выделения памяти JVM (виртуальной машины Java). Максимальный размер кучи по умолчанию составляет 64 МБ или 128 МБ. Максимальный размер кучи приложений можно увеличить, задав параметр JVM -Xmx .

Например, -Xmx512m позволяет выделить для JVM максимум 512 МБ кучи. Чтобы настроить этот параметр, щелкните правой кнопкой мыши значок «Мой компьютер» и выберите вкладку Дополнительно . Нажмите кнопку Переменные среды :

Создайте переменную CATALINA_OPTS и задайте нужное значение, например «-server -Xmx256m ».

Если вы работаете в Linux или UNIX, перейдите к терминалу и используйте учетную запись tomcat, используя sudo su – tomcat или соответствующее имя учетной записи в зависимости от ваших настроек. Вам следует использовать учетную запись, которая используется для запуска Tomcat.

Проверьте переменные среды CATALINA_OPTS и JAVA_OPTS . Установите для переменных среды более высокое значение. Например, если переменная JAVA_OPTS содержит минимальный размер кучи 64 МБ и максимальный размер кучи 128 МБ, увеличьте ее до значений 128 МБ и 256 МБ.

OLD: JAVA_OPTS="-Xms64m -Xmx128m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"
OLD: JAVA_OPTS="-Xms128m -Xmx256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

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

Чтобы проверить, действуют ли новые настройки, перейдите по URL-адресу вашего сервера Tomcat и нажмите Статус :

Вы должны увидеть новое значение в разделе JVM:

Если вы не увидели на странице обновленную память JVM, попробуйте перезапустить Tomcat, поскольку изменения параметров требуют перезапуска Tomcat, прежде чем они вступят в силу. Это должно решить проблемы с низкой производительностью Tomcat, а также избежать проблем с нехваткой памяти в сценариях на стороне сервера. Если у вас есть вопросы, дайте нам знать в комментариях. Наслаждайтесь!.

Похожие сообщения:


9.06.2009