Выделение памяти Tomcat удалено автоматическими обновлениями

Выделение памяти Tomcat удалено автоматическими обновлениями

Я размещаю довольно много серверов, для клиентов и для собственного использования. Все эти серверы работают на Debian Stable. Все серверы являются виртуальными. Это на случай, если автоматическое обновление убьет одну из машин: просто замените ее снимком с прошлой ночи, и все снова будет замечательно.

Теперь некоторые из этих серверов запускают приложения Tomcat. Одно из этих приложений Tomcat требует больше памяти, чем выделяется Tomcat по умолчанию. До сих пор я предпочитал добавлять выделение памяти в /etc/init.d/tomcat7, однако у нас также были серверы, где это было непосредственно в catalina.sh.

После того, как сегодня возникла проблема с остановкой Tomcat, мы обнаружили, что выделение памяти внезапно исчезло. Мы подумали о настроенных автоматических обновлениях, и действительно, файлы журнала cron-apt показали, что в конце апреля было обновление tomcat. Поэтому мы думаем, что это обновление, скорее всего, перезапишет оба файла.

Теперь Tomcat запущен под пользователем tomcat7 (и группой tomcat7 тоже). У пользователя есть /usr/share/tomcat7 в качестве домашнего каталога и нет интерактивной оболочки, чтобы лучше размещать выделения памяти).

Где будет правильным местом для экспорта переменной JAVA_OPTS, чтобы пользователь tomcat7 мог задать память, сохранив при этом защиту от обновлений?

решение1

Обычно JAVA_OPTSон должен setenv.shнаходиться в папке Tomcat, binв которой вы его найдете /usr/share/tomcat7/(CATALINA_HOME).

Если этот файл отсутствует, вы можете создать его (/usr/share/tomcat7/bin/setenv.sh) и установить бит +x.

Просто вставьте это в пустой файл: JAVA_OPTS="$JAVA_OPTS <your params>"

Этот файл не будет перезаписан обновлениями.

Примечание: удалите, $JAVA_OPTSесли вы хотите полностью перезаписать любое предыдущее значение.

Связанный контент