Настройки памяти Tomcat для каждого веб-приложения
У меня есть два веб-приложения, работающие внутри Tomcat. Пространство кучи Java выделено для Tomcat и совместно используется для обоих приложений. При этом одно приложение потребляет больше, а другое получает OUT_OF_MEMORY.
Есть ли способ установить настройки памяти для каждого веб-приложения. Скажем, 70% для одного веб-приложения и 30% для другого от общей памяти, выделенной для Tomcat.
С уважением Ганеш
2 ответа
Память определяется для каждого экземпляра JVM, поэтому, если вы используете одного кота, вы не сможете этого сделать.
Однако вы можете запустить два экземпляра tomcat - по одному на каждое веб-приложение - и тогда вы сможете лучше контролировать распределение памяти для каждого веб-приложения.
Нет. Для какой-то части кода Java нет способа контролировать потребление памяти другой частью кода, вызываемой из первой части кода. Другими словами, веб-контейнер - это просто Java-программа, которая вызывает некоторые другие методы класса Java, найденные в приложении.
Таким образом, единственный элемент управления - это аргументы JVM. И эти аргументы служат только для намека на JVM, где приблизительно произойдет сбой из-за нехватки памяти. Нет, это невозможно.