Table of Contents

[V7] ISSUE: “Throwable=Direct buffer memory, caused by [OutOfMemoryError] Direct buffer memory "error when running backup on AhsayOBM/AhsayACB

Article ID Reviewed AhsayOBM/AhsayACB Operating System
5235 2017-03-16 7.9.2.0 to 7.x All Platforms

ATTENTION 1st January, 2022: v7 officially End-of-Life [details]

Problem Description:

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

[YYYY/MM/DD HH:MM:SS] [erro] [IOException] [ReadAheadInputStream.Reader.run]
@669157043Throwable [ReadAheadInputStream.Reader.run]@299826087 
Throwable=Direct buffer memory, caused by [IOException] [ReadAheadInputStream.Reader.run]
@299826087 Throwable=Direct buffer memory, caused by [OutOfMemoryError] Direct buffer memory

Cause:

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

Resolution:

Starting 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 the 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 be 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

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.

Keywords:

Java heap size, OutOfMemoryError, direct buffer memory