Skip to main content

AhsayOBM Backup fails with OutOfMemoryError: Direct buffer memory

May 19, 2025

Product Version

AhsayACB / AhsayOBM: 7.9.2.0 to 7.17.x

Operating System

All Platforms

Symptom

When performing a backup job on AhsayOBM/AhsayACB the following error is shown in the backup log:

No.TypeTimestampLog
*.........
*info...Start running pre-commands
*erroYYYY/MM/DD hh:mm:ssUnable to do backup, Error= [BlockDB.init] Error initializing bptree
*.........

Cause

The direct buffer memory setting on your AhsayOBM/AhsayACB installation is not sufficient to support your current backup operation.

Resolution

From AhsayOBM/AhsayACB v7.9.2.0 or above the default maximum direct buffer memory is set to 512m, the maximum Java heap size is set to 1024m, and minimum Java heap size is set to 1024m. These settings can be found in the %OBC_HOME%\config.ini file.


config.ini
app.system.ui.vm.opt.xms=128
app.system.ui.vm.opt.xmx=1024
app.system.conf.vm.opt.maxdirectmemorysize=512

The maximum buffer memory setting must not be more than the maximum Java heap size setting. If the maximum buffer memory setting is increased you may need to increase the maximum Java heap size setting accordingly. As a general rule of thumb the ratio between Java heap size and direct buffer memory should around 2 to 1.

Warning: Before changing these values, please make sure there is enough free memory available to support the new Java heap size and direct buffer memory settings on the AhsayOBM/AhsayACB client machine.

To resolve the direct memory buffer issue, please increase the direct buffer memory and maximum Java heap size for your AhsayOBM/AhsayACB installation found in the %OBC_HOME%\config.ini file.

Example: Increase direct buffer memory from 512m to 1024m, the maximum Java heap size needs to be increased from 1024m to 2048m.

  1. Edit the %OBC_HOME%\config.ini file.

    Change:

    app.system.conf.vm.opt.maxdirectmemorysize=512

    app.system.ui.vm.opt.xmx=1024

    To:

    app.system.conf.vm.opt.maxdirectmemorysize=1024

    app.system.ui.vm.opt.xmx=2048

  2. Save the new settings.
  3. Restart your AhsayOBM/AhsayACB scheduler service for the new settings to take effect.