Memory Allocation (Magic xpa 3.x)
In the IBM i PASE, the number of segments that a process can use for data is controlled by the LDR_CNTRL environment variable. By default it is set to 256MB. The default might not be sufficient for large Magic xpa applications (big ECF files) that use a memory database, parse big XML documents and so on.
In certain conditions, the job might need to exceed the limit. Regardless of the setting of the IBM i MGSERVER job description where the *NOMAX value is set for the temporary storage size, the PASE process terminates while exceeding the number of allowed memory segments to be used. The MCH6801 Object domain, a storage protection error, or a similar error might be seen in the job logs.
To change the default, add one of the following entries to the etc\mgenv400 file:
-
LDR_CNTRL=MAXDATA=0x10000000 – sets the limit to 256 MB
-
LDR_CNTRL=MAXDATA=0x20000000 – sets the limit to 512 MB
-
LDR_CNTRL=MAXDATA=0x30000000 – sets the limit to 768 MB
-
LDR_CNTRL=MAXDATA=0x40000000 – sets the limit to 1 GB
-
LDR_CNTRL=MAXDATA=0x50000000 – sets the limit to 1.24 GB
-
LDR_CNTRL=MAXDATA=0x60000000 – sets the limit to 1.5 GB
-
LDR_CNTRL=MAXDATA=0x70000000 – sets the limit to 1.75 GB
-
LDR_CNTRL=MAXDATA=0x80000000 – sets the limit to 2 GB