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!

memory allocation on K580

Status
Not open for further replies.

rt1

Programmer
Sep 6, 2001
1
0
0
US
Hi,
I'm attempting to improve an existing application that makes excessive calls to the hard drive by buffering large amounts (>20MB) of data in RAM, rather than having to make so many read/writes. The app is written in C, and I am using the standard malloc(_) call to dynamically pull memory. Problem is, if I ask the box for more than exactly 3888 bytes (3.888MB), malloc(_) fails and I get a core dump.
I've read some docs on UNIX memory management, so I don't think it's a problem with the UNIX side of the OS. My per-app memory allowance is sufficient for my needs, and I've had the same problem running the app on a live box with a number of competing users and a development box where mine was the only demand on resources. The dev box is mirrored from the live box, though, so my hunch is that there is something in the HP_UX OS that is restricting my malloc(_). We're running OS 10.20 right now.
Thanks for reading!
 
Buffer only the frequently needed data (excessive r/w)
check on the application,

Regards
 
Try and see what the memory limitations per user are. You can typically do a ulimit -a and see that. It may just be that the user cannot allocate more memory than 3888. Have the system administrator bump up the value. You may also see what the numbers for the maxdsiz and maxssiz kernel parameters are and increase them too. Hope this helps!

Jyoti
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top