Что касается памяти кучи веб-приложений Java. Ошибка, как увеличить размер памяти сервера разработки Google App Engine?

Чтобы разработать веб-приложение Google AppEngine, я обычно тестирую его на сервере разработки, используя «mvn appengine:devserver». Всякий раз, когда вы просматриваете локальный хост, приложение показывает OutofMemoryError следующим образом. Возможно, размер local_db.bin намного больше, чем 1 ГБ памяти по умолчанию на сервере разработки Google AppEngine. Используя конфигурацию отладки Eclipse, можно увеличить размер памяти приложения по умолчанию следующим образом. С этими аргументами все работает. Основной средой разработки является терминал, а не Eclipse. В связи с этим, могу ли я найти какое-либо решение для увеличения размера памяти команды devserver по умолчанию в Google AppEngine Java SDK.

Exception in thread "Scanner-0" java.lang.OutOfMemoryError: Java heap space
[INFO]  at java.io.WinNTFileSystem.list(Native Method)
[INFO]  at java.io.File.list(File.java:1122)
[INFO]  at java.io.File.listFiles(File.java:1207)
[INFO]  at org.eclipse.jetty.util.Scanner.scanFile(Scanner.java:576)
[INFO]  at org.eclipse.jetty.util.Scanner.scanFile(Scanner.java:580)
[INFO]  at org.eclipse.jetty.util.Scanner.scanFile(Scanner.java:580)
[INFO]  at org.eclipse.jetty.util.Scanner.scanFiles(Scanner.java:432)
[INFO]  at org.eclipse.jetty.util.Scanner.scan(Scanner.java:391)
[INFO]  at org.eclipse.jetty.util.Scanner$1.run(Scanner.java:329)
[INFO]  at java.util.TimerThread.mainLoop(Timer.java:555)
[INFO]  at java.util.TimerThread.run(Timer.java:505)

[Конфигурация отладки Eclipse]

[Аргумент программы]

--allow_remote_shutdown --disable_update_check --no_java_agent D:\xxx

[Аргументы виртуальной машины]

-Xms2048m -Xmx8182m -Duse_jetty9_runtime=true  -D--enable_all_permissions=true   -Ddatastore.backing_store=D:\ocal_db.bin'

Заранее спасибо,


person steinein    schedule 27.11.2018    source источник


Ответы (1)


Вы можете настроить параметры JVM, используя параметры jvmFlags в соответствии с этим документация.

Если вы включите в pom.xml, это будет выглядеть так:

       <plugin>
        <groupId>com.google.appengine</groupId>
        <artifactId>appengine-maven-plugin</artifactId>
        <version>1.9.59</version>
        <configuration>
            <jvmFlags>
              <jvmFlag>-Xms2048m</jvmFlag>
              <jvmFlag>-Xmx8182m</jvmFlag>
            </jvmFlags>
        </configuration>
      </plugin>

Это обсуждалось, вы можете посмотреть этот ответ.

person dhauptman    schedule 05.12.2018
comment
Можете ли вы дать другую ссылку, я думаю, это только для внутреннего использования Googler - person steinein; 05.12.2018
comment
Извините, я обновил ссылку на правильную: issuetracker.google.com/issues/35901029. #комментарий2 - person dhauptman; 05.12.2018
comment
Спасибо @dhauptman, вы экономите мое время. У меня есть еще одна проблема, связанная с GCP, вы можете следить за эта тема - person steinein; 05.12.2018
comment
Даже я вставляю jvmFlags, у него все еще есть ошибка пространства кучи. Я не могу найти jvmFlag в запущенном скрипте как C:\java -D--enable_all_permissions=true -Dappengine.fullscan.seconds=5 -Duse_jett y9_runtime=true -classpath C:\Users\.m2\repository\com\google\appengine\ appengine-java-sdk\1.9.64\appengine-java-sdk\appengine-java-sdk-1 .9.64\lib\appengine-tools-api.jar com.google.appengine.tools.development.DevAppServerMain --allow_remote_shutdown - -no_java_agent D:\workspace\app-1.0.0 - person steinein; 05.12.2018
comment
@steinen Извините, вам нужно удалить тег «контейнер». Я обновил ответ в правильном формате. - person dhauptman; 07.12.2018
comment
Здорово! Я рад, что это сработало. Я собираюсь посмотреть на другие поток скоро. Спасибо, что обратились к этому. - person dhauptman; 07.12.2018
comment
Что касается другого потока, я оставил комментарий в этом ответе. Это решено в версии 1.9.69. В этой версии вам больше не нужен параметр ‹project›. - person dhauptman; 07.12.2018
comment
Когда я использую -Xmx8192m с версией SDK 1.9.71, он генерирует комментарий об ошибке Неверный максимальный размер кучи и указанный размер превышает максимально представляемый размер, но при сборке с 1.9.64 проблем не было. Могу ли я узнать, каков максимальный размер виртуальной машины для механизма приложений Google? - person steinein; 18.01.2019