On Thu, Oct 18, 2007 at 12:07:02PM -0700, Christopher Chen
wrote:> Is there a simple and easy reason why rpc.statd would mmap 1G? I've
> read the FAQ and understand why it would allocate 256M, but this one
> shows 1G--file.c in /usr/src/usr.sbin/rpc.statd is still set to
> allocate 256M, btw.
>
> This is a 6.2 machine on i386, with 4G RAM, but PAE is not enabled.
> That's what I would assume, that if PAE was enabled, it may change the
> characteristics of that mmap (but even then, the address space of each
> process would be the same...)
>
> The machine is a nfs client, has no exports, and has two mounts.
>
> Any quick thoughts?
>
It has been fixed in RELENG_6 in rev. 1.12.8.2 of statd.c:
: revision 1.12.8.2
: date: 2007/08/12 01:46:19; author: truckman; state: Exp; lines: +1 -1
: MFC statd.c 1.15 -
: The call to init_file() needs to be moved outside the loop in statd.c,
: otherwise mmap() gets called multiple times, which eventually fails due
: to address space exhaustion on i386.
Cheers,
--
Ruslan Ermilov
ru@FreeBSD.org
FreeBSD committer