如何修复“请求的数组大小超出 VM 限制"Java 中的错误? [英] How to fix "Requested array size exceeds VM limit" error in Java?
问题描述
是否有一个日志选项可以让 tomcat 记录错误的查询而不是仅仅抛出这个?
<块引用>严重:java.lang.OutOfMemoryError:请求的数组大小超过 VM 限制
(尝试将日志级别设置为 FULL,但仅捕获上述内容)
这不足以进一步调试
或者,是否可以通过调整以下内容来分配更多内存来解决此问题?
-Xms1024M -Xmx4096M -XX:MaxPermSize=256M
更新
<块引用>-Xms6G -Xmx6G -XX:MaxPermSize=1G -XX:PermSize=512M
(以上似乎效果更好,请继续关注)
升级 solr 到新版本似乎有这个问题,可能新版本有更好的堆内存管理.
Is there an log option that can let tomcat log the bad query instead just throwing this ?
SEVERE: java.lang.OutOfMemoryError: Requested array size exceeds VM limit
(Tried log level to FULL, but only capture the above)
This is not enough information to further debug
Alternatively, if this can be fixed by allocated more memory by tweaking the following?
-Xms1024M -Xmx4096M -XX:MaxPermSize=256M
Update
-Xms6G -Xmx6G -XX:MaxPermSize=1G -XX:PermSize=512M
(the above seems works better, keep monitoring)
Upgrade solr to a newer version seems have sort this problem, likely newer version has a better heap memory management.
这篇关于如何修复“请求的数组大小超出 VM 限制"Java 中的错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!