Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP

 

Forums advanced search
HP.com Home
IT resource center forums > HP-UX > system administration

mmap: Not enough space

» 

IT Resource Center

» Online help
» My profile
» Login
» Maintenance and support for hp products
» Maintenance and support for Compaq products
» Forums
» Training and education
» Site map

Member icons
 
 HP moderator  HP moderator
 Expert in this area  Expert in this area
Member status
ITRC Pro ITRC Pro
250 points
ITRC Graduate ITRC Graduate
500 points
ITRC Wizard ITRC Wizard
1000 points
ITRC Royalty ITRC Royalty
2500 points
ITRC Pharaoh ITRC Pharaoh
7500 points
Olympian Olympian
20000 points
1-Star Olympian 1-Star Olympian
40000 points
2-Star Olympian 2-Star Olympian
80000 points
»  How to earn points
»  Support forums FAQs
Question status
Magical answer Magical answer
Message with a response that solved the author's question
Favorites status
Add to my favorites Add to my favorites
Delete from my favorites Delete from my favorites
This thread has been closed Thread closed
 

Content starts here
   Create a new message    Receive e-mail notification if a new reply is posted  Reply to this message
Author Subject: mmap: Not enough space      Add to my favorites
Robin C. Querol
Nov 27, 2002 03:10:35 GMT   

We have a program that maps a file into memory. The command uses mmap and is used like this:
__output_rec = (Mptr) mmap ( 0, ( __max_file_recs + SAFE_BUFFER) * sizeof ( Mnode ), PROT_READ | PROT_WRITE, MAP_PRIVATE, __output_fd, 0 );

The error is:Nov 27 09:50:38 smscp2 MVAS1[11380]: sms_merge_ord.c : create_new_file () : Failed to map file to memory.. 12 : Not enough space
Nov 27 09:50:38 smscp2 MVAS1[11380]: sms_merge_ord.c : main () : Failed to create new file.


We have 8GB physical memory and have around 80% utilization. Based on our calculations the file should only be around 100MB. Do we have a kernel configurable parameter for this?
Note: If you are the author of this question and wish to assign points to any of the answers, please login first.For more information on assigning points ,click here


Sort Answers By: Date or Points
harry d brown jr Expert in this area This member has accumulated 20000 or more points
Nov 27, 2002 03:14:14 GMT  10 pts

Check your swap space, and post your kernel parameters. Look at dbc_min and max also.

What OS ??

live free or die
harry
Michael Tully Expert in this area This member has accumulated 20000 or more points
Nov 27, 2002 03:18:24 GMT  6 pts

I agree with Harry. Look at your dbc_min_pct and dbc_max_pct kernel parameters. You will find that they are set to the default which is 50%. This is just about useless. The ideal value should be somewhere in the vicinity of 300-500Mb no more. So in your case, dbc_max_pct should be set to 5, dbc_min_pct to 2.

Make sure you have enough swap space.
T G Manikandan This member has accumulated 7500 or more points
Nov 27, 2002 03:18:55 GMT  10 pts

The error is due to
1.Amount of memory and swap available.
If you have 80% used.
What is the value of dbc_max_pct on your kernel.
If it is 50% of memory bring it down to somewhere around 8.
The buffer cache half the memory is too high.

check the individual process usage using
UNIX95= ps -e -o ruser,pid,vsz=Kbytes

to check the process usage by each process.
How is the usage of the swap on the machine
Just do a
swapinfo -ta

you can use glance to monitor the process which is throwing out the error.

2.You have to increase your kernel parameters like
These paramters define the upper limit for a process.
They have default values like 8MB.

maxdsiz
maxdiz_64
maxssiz
maxssiz_64
maxtsiz
maxtsiz_64
ALso make sure that you check these values.

Revert with the amount of swap utilization
 
   Create a new message    Receive e-mail notification if a new reply is posted  Reply to this message
 
 
Printable version
Privacy statement Using this site means you accept its terms
© 2008 Hewlett-Packard Development Company, L.P.