我正在使用fusesource/leveldbjni在Java上开发LevelDB应用程序。而且,我想配置LevelDB获得的最大内存量。 LevelDB的当前配置如下所示。
<levelDBStore class="org.leveldb.test.LevelDBStore">
<property name = "blockSize">4096</property>
<property name = "blockRestartInterval">16</property>
<property name = "cacheSize">8</property>
<property name = "maxOpenFiles">1000</property>
<property name = "writeBufferSize">4</property>
</levelDBStore>
从这个配置中,我认为LevelDB最大可以使用8MB,缓存大小配置为8MB。但事实证明,在某些情况下,LevelDB仍然会使用大约150MB的内存,并最终导致内存不足。
所以,我想知道应该更改哪些参数,以便设置LevelDB使用的最大内存量。