如何修复“请求的数组大小超出 VM 限制"Java 中的错误? [英] How to fix "Requested array size exceeds VM limit" error in Java?

查看:48
本文介绍了如何修复“请求的数组大小超出 VM 限制"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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆