【问题标题】:Berkeley DB JE JDB files keep increasingBerkeley DB JE JDB 文件不断增加
【发布时间】:2018-12-11 09:35:16
【问题描述】:

我正在调试系统中的磁盘空间问题,发现 .jdb 文件占用了大部分空间。

在浏览时,发现此链接https://backstage.forgerock.com/knowledge/kb/article/a14630082,在我的情况下,lnSizeCorrectionFactor 约为 1.4 并且 fileDeleted=false。 我运行磁盘空间命令来查找空间利用率,结果证明所有 jdb 文件的空间利用率都不为零,但大多数文件的利用率为 2-9 之间的单个数字值。

我使用的是 je-5.0.58 版本,不是最新的。我的问题是根据 BDB doc https://docs.oracle.com/cd/E17277_02/html/GettingStartedGuide/backgroundthreads.html#cleaner,如果 jdb 文件低于默认值 50%,则需要清理它。在我的情况下,即使它们是个位数,为什么它们没有被清理?

我没有明确设置任何环境配置,所以它应该使用默认值。下面是创建 bdb 存储库的代码。

 private static Repository createBDBRepository(File environmentHome) throws 
 RepositoryException {
            BDBRepositoryBuilder builder = new BDBRepositoryBuilder();
            builder.setName("localbdb");
            builder.setEnvironmentHomeFile(environmentHome);
            builder.setTransactionNoSync(false);

            // Set BDB-JE flavor
            builder.setProduct("JE");

            builder.setCacheSize(20 * 1024 * 1024L);
            return builder.build();
    }

je.info 文件中的日志行

   Chose lowest utilized file for cleaning. fileChosen: 0x50cbecc totalUtilization: 49 bestFileUtilization: 8 lnSizeCorrectionFactor: 1.1012049 isProbe: false
   No file selected for cleaning. totalUtilization: 50 bestFileUtilization: 8 lnSizeCorrectionFactor: 1.1012049 isProbe: false

【问题讨论】:

    标签: java berkeley-db-je


    【解决方案1】:

    正如 ForgeRock 文档所述,这是由于 BDB JE 版本 5 中的一个错误,该错误已在版本 6 及更高版本中得到解决。

    引用 BDB JE 6.x 发行说明:

    对日志利用率的计算进行了改进,以避免 清洁不足或过度清洁。例如,当日志利用率为 估计低于实际利用率,没必要 会发生过度清洁,这可能会降低性能。或者当登录 估计利用率高于实际利用率, 清洗不足会阻止回收未使用的磁盘空间。阻止 这些问题,每个记录的记录的大小现在存储在 Btree BINs(底部内部节点),因此利用率可以 在记录更新和删除期间正确计算,同时仍然 避免获取旧版本的记录。有了这个变化, 日志清理器中的利用率调整工具,它 试图通过估计利用率来弥补这个问题,是 大多数应用程序不再需要。

    因此 EnvironmentConfig.CLEANER_ADJUST_UTILIZATION 参数 现在默认为 false 而不是 true,并且将被禁用 完全在 JE 的未来版本中。有关详细信息,请参阅 这个参数的javadoc。

    [#22275] (6.0.7)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 2018-05-18
      • 2011-12-18
      • 1970-01-01
      相关资源
      最近更新 更多