Внутри файла /etc/tomcat6/tomcat6.conf строка конфигурации JAVA_OPTS дает мне возможность устанавливать ограничения памяти для Tomcat.
Например:
JAVA_OPTS="-Xms256M -Xmx1024M -XX:MaxPermSize=256m -XX:PermSize=128m"
Есть ли способ полностью отключить ограничения памяти для Tomcat? Я хочу, чтобы Tomcat использовал всю доступную память - я не хочу искусственно ограничивать JVM этими параметрами.
В качестве альтернативы, есть ли вред в том, чтобы сделать эти ограничения действительно большими?
На самом деле это не связано с Tomcat, но с этим приходится иметь дело каждому приложению Java. В сети много ресурсов, например этот:
http://javarevisited.blogspot.de/2011/05/java-heap-space-memory-size-jvm.html
Вы должны указать фактический объем памяти.
ОДНАКО, если вы отдадите всю системную память JVM, вы ничего не оставите для использования самой машине, и поэтому вы, скорее всего, получите системные сбои или, по крайней мере, действительно плохую производительность. Кроме того, если единственное решение, которое у вас есть, - это добавить в JVM больше памяти, вы можете посмотреть на лучший, более оптимизированный код и провести фактическое профилирование, чтобы найти проблемные области.
Я бы посоветовал не устанавливать их, особенно в случае утечки памяти, которая может занять большую часть (всю?) Памяти в вашей системе. Кроме того, в случае сборки мусора время паузы вашего приложения может стать неприемлемым, если использование памяти не отмечено флажком.
Определение размера JVM зависит от множества факторов: «след» вашего приложения, доступная оперативная память на сервере, другие процессы, запущенные на сервере, и т. Д. Вы будете более счастливы в долгосрочной перспективе, если профилируете свое приложение с помощью нагрузочного тестирования / профилирования инструмент, проверяя ваши журналы сборки мусора, потребление ресурсов сервера и т. д., и настраивайте эти параметры, вместо того, чтобы оставлять их. ИМО, вам следует запустить компактное, хорошо настроенное приложение (-: