Berkeley Db GET Db Dump非凡内存使用情况

时间:2011-06-14 04:26:36

标签: java berkeley-db-je

我们在其中一个应用程序中使用BDB JE,并使用DbDump来备份数据库。有趣的事情发生在某一天。 DbDump开始抛出OutOfMemoryError。事后分析显示内部BDB节点(IN)使用了大量内存。看起来BerkleyDB在备份时会读取内存中的所有数据集,这对我来说很奇怪。

另一个奇怪的事实是,此行为仅在应用程序本身打开环境时才可见。因此,当DbDumb是唯一开放环境的客户时,一切似乎都很好。

1 个答案:

答案 0 :(得分:0)

您是否考虑过使用DbBackup?我知道他们做了两件不同的事情,但是如果您要做的就是备份数据库,那么只需将文件复制到其他地方就可以将其全部存入内存。或者命令行能力是决定因素吗?