0

为了开发 Google AppEngine Web 应用程序,我通常使用“mvn appengine:devserver”在开发服务器中进行测试。每当浏览 localhost 时,应用程序都会显示 OutofMemoryError,如下所示。可能是 local_db.bin 的大小比 Google AppEngine 开发服务器默认的 1G 内存大得多。通过使用 Eclipse 调试配置,可以增加应用程序的默认内存大小,如下所示。有了这些论点,它工作得很好。主要的开发环境是终端,而不是 Eclipse。关于这一点,我可以有任何解决方案来增加 Google AppEngine Java SDK 中默认 devserver 命令的内存大小。

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'

提前致谢,

4

1 回答 1

1

您可以根据本文档jvmFlags使用参数自定义 JVM 选项。

如果包含在 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>

对此进行了讨论,您可以查看此答案

于 2018-12-05T14:37:03.007 回答