Каковы рекомендуемые аргументы JVM для приложения Java 11 в App Engine? - PullRequest
0 голосов
/ 27 января 2020

Несколько источников показывают, как аргументы JVM, такие как -Xmx, могут быть установлены в команде app.yaml entryPoint:

https://cloud.google.com/appengine/docs/standard/java11/building-app/writing-web-service https://github.com/GoogleCloudPlatform/java-docs-samples/blob/master/appengine-java11/kotlin-ktor/app.yaml

Однако я не вижу документации о рекомендуемых настройках или о том, требуются ли они для хорошей производительности. Какие настройки используются, если мы не указываем значения памяти? Изменяются ли настройки памяти автоматически при изменении типа машины?

1 Ответ

2 голосов
/ 27 января 2020

Универсальных «рекомендуемых» аргументов / настроек не существует. Настройки, которые могут быть хорошими для одного приложения или варианта использования, могут быть ужасными для другого.

Как правило, настройки JVM вообще не годятся отправная точка . Затем вы наблюдаете, измеряете, настраиваете, повторяете, пока производительность не станет приемлемой. (Или не беспокойтесь.)

Какие настройки используются, если мы не указываем значения памяти? Изменяются ли настройки памяти автоматически при изменении типа машины?

Значения размера кучи по умолчанию зависят от версии Java и платформы. Для последних версий Oracle / OpenJDK максимальный размер кучи по умолчанию составляет 1/4 от физической памяти, а начальный размер кучи по умолчанию составляет 1/64 от физической памяти; см.

Вы также можете использовать опцию -XX:+PrintFlagsFinal для печати значений всех настроек JVM.

...