H2数据库PageStore导致OutOfMemoryError

时间:2015-06-12 14:30:45

标签: h2

我使用H2作为一个简单的嵌入式数据库来存储少于10,000条记录但是已经开始遇到OutOfMemoryError。

检查堆转储org.h2.store.PageStore的保留大小几乎为800mb,应该只有5到10兆字节的数据。

我可以采取哪些步骤来进一步调试和解决此问题?

heapdump

1 个答案:

答案 0 :(得分:0)

事实证明,我遇到了更新7u6中字符串表示更改的副作用。

我的开发环境是7u6之后,而生产运行的是早期版本,我无法复制该问题。

除了由于字符串引用而导致的大量保留大小外,完全没有PageStore的问题。

TIL Oracle changed the internal String representation in Java 7 Update 6 increasing the running time of the substring method from constant to N