如何增加 jBoss 服务器的堆大小

2022-09-02 22:56:57

我的项目中有一个上传文件方案。当我尝试上传大文件时,它会给我一个超出内存的错误。该错误与 Java 堆大小有关。

如何增加Java中的堆大小,我需要为此更改哪个文件?我正在使用jboss 5.1服务器来运行我的应用程序。


答案 1

您可以按照通常的方式将其设置为JVM参数,例如 最小堆为 1GB,最大堆为 2GB。JBoss 将使用环境变量来包含其他 JVM 参数,您可以在文件中指定它:-Xms1024m -Xmx2048mJAVA_OPTS/bin/run.conf.bat

set "JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx2048m"

但是,这更像是一种解决方法,而不是真正的解决方案。如果多个用户同时上传大文件,您迟早会遇到同样的问题。您需要无缘无故地不断增加内存。您应将文件上载分析器配置为将上载的文件存储在临时磁盘上,而不是完全存储在内存中。只要不清楚您正在使用哪个解析器,就无法给出合适的答案。但是,Apache Commons FileUpload经常在幕后使用,然后您应该阅读带有“阈值大小”作为关键字的文档,以配置上传文件的内存限制。当文件大小超过阈值时,它将被写入磁盘。


答案 2

在野蝇8号及以后,去把你的JAVA_OPTS放在那里,有你需要的一切。/bin/standalone.conf


推荐