Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

0509-026 System error: There is not enough memory available

Status
Not open for further replies.

TG1

Programmer
Feb 4, 2005
17
0
0
US
The applications folks just moved a new program over to production and were getting this error:
prod server > ./statistics
exec(): 0509-036 Cannot load program ./statistics because of the following errors:
0509-026 System error: There is not enough memory available now.

The program works fine in development but not in production. Both boxes (development server & production server) are running a 32bit kernel and AIX 5.2.0.2
prod server > ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) 262144
stack(kbytes) 2097152
memory(kbytes) 32768
coredump(blocks) 2097151
nofiles(descriptors) 2000

prod server > lsps -s
Total Paging Space Percent Used
1856MB 44%
Any ideas would be greatly appreciated...
 
I checked and the 64 bit application environment was enabled. I was hoping you were on to something.
The programmer said that they needed to add the following stmt for this to work on the development node:
export LDR_CNTRL=MAXDATA=0x80000000@LARGE_PAGE_DATA=Y

They have this defined on this production node but still not working. Any other ideas?
 
You can change the maxdata size of the executable. Check the size with dump -ov (I think), and then change it to the max size.
 
0509-026 System error: There is not enough memory available now.
There are several conditions that can result in this error. One cause is requesting over 2GB memory in a code with 32-bit addressing. Try re-compiling with the -q64 flag (64-bit addressing). Note that the error message can be misleading, since the machine actually may have had plenty of memory available

 
The programmer is compiling with a gcc complier and doesn't feel we need to change any options. He does have a point, if box machines are running AIX 5.2.0.2 and the same version of gcc, there must be a difference on the system side somewhere.
Could there be something else on the server that I may have missed?
 
As kHz already mentioned, you need to make sure that the program is really getting the MAXDATA env variable set correctly. Use "dump -vo FullPathToProgram" while your program is trying to start up. You should see a line indicating the value of MAXDATA. Hopefully your program takes long enough to fail that you can get some output from the dump command. Also, this may sound silly, but are you sure there really is enough memory available for the system to fulfill the request? Since your paging space is set to less than 2 GB and is already 44% full it sounds like you might have a memory issue.


Jim Hirschauer
 
Try editing /etc/security limits and set rss & rss_hard to -1
you can do this for either the user running the proc or in the default area.

Mike

"A foolproof method for sculpting an elephant: first, get a huge block of marble, then you chip away everything that doesn't look like an elephant."

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top