Назад | Перейти на главную страницу

Выделение памяти 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, чтобы установить память, оставаясь при этом защищенной от обновлений?

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

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

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

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

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