在我的 Spring Boot 应用程序中,我想将文件上传到 MySql 数据库中。当我想上传大文件时,我得到了java.lang.OutOfMemoryError: Java heap space
异常。我使用超过 60Mb 的文件得到它,这似乎很正常,因为据我所知,64Mb 是默认的堆大小。
我已经运行了 Tomcat8w.exe,并且在 Java 选项卡上,我在 Java 选项中添加了以下几行:
-Xms512m
-Xmx8192m
-XX:PermSize=512m
-XX:MaxPermSize=1024m
另外,我在 bin 文件夹中创建了一个 setenv.bat 文件,其中包含以下内容:
JAVA_OPTS="-Xms1024m -Xmx2048m"
这些都不适合我。在 catalina-log 中,我在启动 Tomcat 时看到这些行:
29-Oct-2016 15:39:42.481 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms512m
29-Oct-2016 15:39:42.481 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx8192m
29-Oct-2016 15:39:42.482 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:PermSize=512m
29-Oct-2016 15:39:42.482 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:MaxPermSize=1024m
29-Oct-2016 15:39:42.482 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: exit
29-Oct-2016 15:39:42.482 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms256m
29-Oct-2016 15:39:42.483 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx512m
我必须补充一点,我不知道最后两行来自哪里,这些不是我指定的值。
请帮助我,我做错了什么。我需要上传最大 100Mb 的文件。