Перейти к содержанию

Настройка параметров Java

Инструкция по добавлению параметров Java в docker-compose.yml

  1. Откройте файл docker-compose.yml и добавьте строку с параметрами Java в секцию appsec-track-backend.environment.

    services:
        ...
        appsec-track-backend:
            environment:
                - TZ=Europe/Moscow
                - pgsql_url=${pgsql_url}
                ...
                # Параметры Java: начальный размер кучи (-Xms)
                # и максимальный размер кучи (-Xmx)
                - JAVA_TOOL_OPTIONS=-Xms2g -Xmx4g
    

    Важно:

    • Не используйте кавычки вокруг значения (иначе Java воспримет строку как один аргумент).
    • Максимальный размер кучи (-Xmx) не должен превышать лимит памяти контейнера. Если для контейнера указан лимит памяти в секции deploy.resources.limits.memory, то -Xmx должен быть меньше этого лимита. Рекомендуется оставлять запас 20-30% от лимита для других нужд JVM (Metaspace, стеки потоков, code cache) и операционной системы внутри контейнера.
  2. После изменения перезапустите контейнер.

    docker-compose down
    docker-compose up -d
    

Инструкция по добавлению параметров Java в Helm-чарт

  1. Откройте файл values.yaml в директории Helm-чарта.

  2. Найдите секцию backend, раскомментируйте параметр java_tool_options и укажите необходимые параметры.

    backend:
        ...
        resources: {}
        # Параметры Java: начальный размер кучи (-Xms)
        # и максимальный размер кучи (-Xmx)
        java_tool_options: "-Xms2g -Xmx4g"
        ...
    

    Важно:

    • В Helm-чарте значение должно быть в кавычках, так как это строка YAML, которая будет передана как переменная окружения JAVA_TOOL_OPTIONS.
    • Максимальный размер кучи (-Xmx) не должен превышать лимит памяти контейнера. Если для контейнера указан лимит памяти в секции backend.resources.limits.memory, то -Xmx должен быть меньше этого лимита. Рекомендуется оставлять запас 20-30% от лимита для других нужд JVM (Metaspace, стеки потоков, code cache) и операционной системы внутри контейнера.
  3. После изменения примените обновления:

    helm upgrade <release-name> <chart-path> -f values.yaml
    

    или, если используете helm install:

    helm install <release-name> <chart-path> -f values.yaml