Locking shared memory
- From: "Allen, Jack" <Jack.Allen@xxxxxxxxxxxx>
- Date: Tue, 27 Feb 2007 17:21:02 -0600
I have a database application that creates some shared memory
segments to be used by several programs. Most of the shared memory is
used as a buffer pool for I/O so all the programs do not have to do
physical reads from the disk. Because shared memory is implemented on
Linux as a memory mapped file, it means the memory pages can get swapped
out if space is needed in memory and the page has not been accessed
recently.
Therefore I want to lock the shared memory pages in physical
memory so they can not be swapped. Currently I am allocating 2 256MB
shared memory segments for a total of 512MB. When I make the call to
mlock() for the first segment it returns with a good status. But mlock()
fails for the second segment with errno set to ENOMEM. Here is what the
man page for mlock() says about errors.
==================================================================
The mlock() and munlock() functions shall fail if:
ENOMEM Some or all of the address range specified by the addr and
len
arguments does not correspond to valid mapped pages
in the
address space of the process.
The mlock() function shall fail if:
EAGAIN Some or all of the memory identified by the operation
could not
be locked when the call was made.
The mlock() and munlock() functions may fail if:
EINVAL The addr argument is not a multiple of {PAGESIZE}.
The mlock() function may fail if:
ENOMEM Locking the pages mapped by the specified range would
exceed an
implementation-defined limit on the amount of memory that
the
process may lock.
EPERM The calling process does not have the appropriate
privilege to
perform the requested operation.
===================================================================
I do not think the error is because of the first explanation of ENOMEM
So my question is based on the second one.
Is there a kernel or vm parameter that controls how much memory a
process can utilize?
I am running RH AS 4.4 32 bit with 2GB of physical memory.
Thanks in advance:
Jack Allen
--
redhat-list mailing list
unsubscribe mailto:redhat-list-request@xxxxxxxxxx?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/redhat-list
- Follow-Ups:
- Re: Locking shared memory
- From: Mike Kearey
- Re: Locking shared memory
- Prev by Date: Re: Searching child OU's for authentication
- Next by Date: Re: Apache can not parse index.php file
- Previous by thread: Apache can not parse index.php file
- Next by thread: Re: Locking shared memory
- Index(es):
Relevant Pages
|