I am using a program converted from Delphi, where I increased the stack and heap limits to allow the program use more memory. The program ran successfully several times on a PC, using more than 1GB of memory. However on AIX the program seem to be hitting a ceiling as they crash out with SIGILL, this happened with several datasets. The crash occurs at a New() statement asking for an additional 1600 bytes of memory and seems to occur when about 256MB of memory has been used.
GPC ultimately uses the system library for memory allocation. Crashing with SIGILL seems strange, perhaps a bug? You could try it with C code (using malloc). If that also crashed, it's a bug in libc.
Frank
Thanks for your suggestion, Frank. I wrote a simple C program with a malloc in a loop. This also encountered a 256MB memory limit, whether compiled with GCC or IBM's own compiler. So the problem is an AIX one.
In fact it seems that the default memory model used in AIX imposes a 256MB limit (a legacy of the past!)
http://publib16.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ge nprogc/genprogctfrm.htm
You need to set an enivironment variable to tell AIX if you want to use more than 256MB
export LDR_CNTRL=MAXDATA=0xn0000000
where n is the number of 256MB blocks of memory to use. I set n=8 and then memavail shows access to 2GB, this also seems to improve the problem where using memavail gave errors.
Peter.