Not able to mlock

Aug 28, 2006 1 Replies

Hi all!,



I am not able to mlock more than half of the memory available. I am working on ARM processor in



which



64 MB of SDRAM memory is available. But I am not able to mlock more than 32 MB. If I am trying to

allocate more than 32 MB, it return an ENOMEM error. Can any one suggest me why this is happening and what is the way to mlock more



than 32 MB? Please let me know, do I need to set the limit for mlock in kernel? If so, where do I set the



limit for mlock?



Thanks and Regards, P.R.Hariram



IIRC, this limit is hard-coded in the kernel: The mlock() syscall won't allow you to lock more than half of the physical memory. The rationale is probably that if you lock too much memory, you might lock up the machine. Whether it is helpful to impose a hard-coded limit like this remains to be discussed...

(Moreover, at least older Linux kernels (

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required