For Windows 32-bit systems there is a limitation on the addressable memory (RAM) for each DXserver process. This restricts the DSA to only having a DXgrid file of 1GB, while indexing all attributes in cache. If the cache detects that it is nearing the 1GB boundary, the DSA will generate a warning in the DSAs alarm log. This TechDoc explains the alarm.
When using a Windows 32-bit system, one single DXserver process (DSA instance) is restricted to addressing a maximum of 2GB's of RAM.
Assuming that a DSA is indexing every attribute in RAM, the largest a DXgrid DB file can be is 1 gigabyte. This allows for a cache index size of 1 gigabyte. This ensures that the total addressable RAM is under 2 gigabytes.
In r12.0 SP3, when the DSA detects that its cache indexes are close to exceeding 1 gigabyte, the DSA will generate an alert so that the Directory Administrator will be aware of the problem.
This scenario will explain how the alarm is triggered:
- DXgrid DB file is 980 megabytes in size.
- DSA is caching every attribute, which means the in-memory cache indexes will be 980 megabytes in size.
- The total RAM utilization at the moment is 1960 megabytes.
The Directory administrator loads a 200,000 entry LDIF file into the DSA. During the data load, the DSA detects that its cache indexes are nearing 1 gigabyte in size, and generates the following alarm:
DSA_E3160 Memory close to exhaustion - usage exceeds 1 GB
At this point the Directory Administrator should cease the data load and work to reducing the cache index size and/or the DXgrid data size, so that the overall memory utilization is reduced.
If the data load continues, and the DXgrid DB file and cache indexes continue to grow, the following errors will be generated:
90% of datastore in use DSA_E2340 Out of memory Memory failure (r:/head.new/src/dsa/dxgrid/caBT.c223)
The first alarm indicates that the DXgrid DB file is 90% full. Keep in mind that the largest a DXgrid DB file can grow to on a Windows 32-bit system is 1 gigabyte.
The second alarm indicates that the cache indexes have grown to 1 gigabyte in size, and cannot add any additional data.