Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Jun 2014 13:52:09 +0400
From:      Dmitry Sivachenko <trtrmitya@gmail.com>
To:        hackers@freebsd.org
Subject:   mlock() and vm_max_wired
Message-ID:  <D85BD1F5-414C-45FA-B509-C55DC9BE125A@gmail.com>

next in thread | raw e-mail | index | archive | help
Hello!

I am using FreeBSD-10/stable and have a problem with mlock().
I have 256GB of memory and a program which does mmap+mlock on a number =
of data files.  It can process one file several times (so it does mmap() =
+ mlock() on the same file more than once).
I set vm.max_wired=3D67108864 (67108864 * 4k =3D 256GB), so it is =
allowed to mlock() the whole RAM.

The total size of all files is about 180GB.

The program fails with mlock: Resource temporarily unavailable  error.

If I increase vm.max_wired even more, the program works fine and after =
it starts top(1) shows about 186GB of Wired memory.

Why does it fail with vm.max_wired=3D67108864?  Is it a bug or am I =
missing something?

Thanks.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D85BD1F5-414C-45FA-B509-C55DC9BE125A>