У меня установлена Tomcat 8.5 на виртуальной машине Linux с 16 ГБ ОЗУ .
Это четыре веб-приложения загружено на сервер (три из них Spring Boot Apps ). Одно из этих приложений создает большие отчеты в формате PDF и Excel (с отчетами Jasper), а также выполняет запланированное задание с обработкой «средней тяжести» каждый час.
У меня было много OutOfMemoryException (пространство кучи Java) , поэтому я обновил конфигурацию Tomcat.Это моя текущая конфигурация кучи jvm (/ tomcat_dir / bin / setenv.sh) :
-Xms2048m
-Xmx2048m
-XX:MaxPermSize=256m
Через некоторое время возникла новая исключительная ситуация OutOfMemoryException (на этот раз превышен лимит накладных расходов ГХ) .Итак, я попытался с этой конфигурацией:
-Xms8192m
-Xmx8192m
-XX:MaxPermSize=2048m
Приложения Spring Boot запустились нормально, но через некоторое время (15-30 минут, одно выполнение «тяжелой-средней» запланированной задачи) оно резко упало: например, произошел сбой соединений и запросов к источнику данных, возникли исключения ssl (не удалось создать пару ключей DH).
Я немного запутался в управлении кучи JVM, поэтому мой вопрос: это было плохой идеей назначить 8 ГБ размера кучи?Почему?Какую конфигурацию вы рекомендуете?
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
Хорошего дня.