Я работаю с tomcat 6.0, и пока я индексирую (пока я не запускаю tomcat), у меня есть ошибка пространства имен.
Как я мог увеличить это пространство?
Спасибо
Я работаю с tomcat 6.0, и пока я индексирую (пока я не запускаю tomcat), у меня есть ошибка пространства имен.
Как я мог увеличить это пространство?
Спасибо
Вы можете использовать:
-XX:MaxPermSize=128m
чтобы увеличить пространство. Но это обычно только откладывает неизбежное.
Вы также можете включить PermGen для сбора мусора
-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
Обычно это происходит при выполнении большого количества повторных развертываний. Я удивлен, что у вас есть что-то вроде индексации. Используйте virtualvm или jconsole для отслеживания пространства Perm gen и проверьте, чтобы он выравнивался после прогрева индексации.
Возможно, вам стоит рассмотреть возможность перехода на другую JVM, такую как IBM JVM. Он не имеет постоянного поколения и невосприимчив к этой проблеме.
Для tomcat вы можете увеличить пространство permGem, используя
-XX:MaxPermSize=128m
Для этого вам нужно создать (если он еще не существует) файл с именем setenv.sh в папке tomcat/bin и включить в него следующую строку
export JAVA_OPTS="-XX:MaxPermSize=128m"
Ссылка: http://wiki.razuna.com/display/ecp/Adjusting+Memory+Settings+for+Tomcat
Вы также можете увеличить его с помощью аргументов VM в вашей среде IDE. В моем случае я использую Tomcat v7.0, который работает на Eclipse. Для этого дважды щелкните на своем сервере (Tomcat v7.0). Нажмите ссылку "Открыть конфигурацию запуска". Перейдите на вкладку "Аргументы". Добавить -XX: MaxPermSize = 512m в список аргументов VM. Нажмите "Применить", а затем "ОК". Перезагрузите сервер.
если вы обнаружили, что настройки памяти не использовались, и чтобы изменить параметры памяти, я использовал tomcat7w или tomcat8w в папке \bin. Затем должно появиться следующее:
Перейдите на вкладку Java и добавьте arguments.restart tomcat
В Debian-подобных дистрибутивах вы устанавливаете, что в /etc/default/tomcat[67]