6.2 -> 7.0 now mlock(2) fails

Giorgos Keramidas keramida at ceid.upatras.gr
Sat Apr 12 18:55:03 UTC 2008


On Sat, 12 Apr 2008 08:15:41 +0100,
Dieter <freebsd at sopwith.solgatos.com> wrote:
> I never saw mlock(2) fail in 6.2 but with 7.0 I sometimes
> get mlock(2) failed: Resource temporarily unavailable.

That's error EAGAIN:

     [EAGAIN]           Locking the indicated range would exceed
                        either the system or per-process limit
                        for locked memory.

You are hitting either the `vm.max_wired' limit, or the per-process
RLIMIT_MEMLOCK limit.

> What changed and how do I fix it?

It would be nice if you could run a test program that prints the value of
vm.max_wired and RLIMIT_MEMLOCK on 6.2 and then on 7.0.  As an extra test,
it may be worth printing these values in the log of your application when
mlock(2) fails.



More information about the freebsd-questions mailing list