mmap()

Arne Wörner arne_woerner at yahoo.com
Wed Nov 23 10:21:18 PST 2005


--- Michael Conlen <m at obmail.net> wrote:
> On Nov 23, 2005, at 12:11 PM, Arne Wörner wrote:
> > --- Michael Conlen <m at obmail.net> wrote:
> >> I'm trying to tune the system to allow very large
> >> mmap()'s in a
> >>
> > I had a similar problem with shared memory.
> >
> > I found an option in /sys/conf/NOTES.
> >
> > I think it could help in your case, if u increase
> > % options  MAXDSIZ=(1024UL*1024*1024)
> > % options  MAXSSIZ=(128UL*1024*1024)
> > % options  DFLDSIZ=(1024UL*1024*1024)
> > apropriately.
> >
> > E. g. in your /sys/<arch>/conf/<kernel name>
> > options MAXDSIZ=(2000UL*1024*1024)
> >
> > But I dont know, if that is a good idea... Maybe
> > you should use nextboot(8) in case your box does
> > not like the new kernel... :-)
> 
> I've made those changes which are reflected in the
> output from limit.
> 
Oh... Ok... That sounds plausible...

Maybe the stack size matters in ur case somehow? I can see, that
it is limited to 1GB, isn't it?

I found something funny, too:
> limit
cputime      unlimited
filesize     unlimited
datasize     524288 kbytes
stacksize    65536 kbytes
coredumpsize unlimited
memoryuse    unlimited
vmemoryuse   unlimited
descriptors  6861 
memorylocked unlimited
maxproc      3430 
sbsize       unlimited
> c++ -o mmap mmap.c
> ./mmap 757254143
sz2d22c7ff00000 r673435648 errno0
> cat mmap.c
#include <sys/mman.h>
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>

int main(const int argc, char ** argv) {
        void * r =
mmap(0,atoi(argv[argc-1])*1024LL*1024,0,MAP_ANON|MAP_PRIVATE,-1,0);
        printf("sz%llx r%d
errno%d\n",atoi(argv[argc-1])*1024LL*1024,r,errno);
        return 0;
}
<EOF>

-Arne



		
__________________________________ 
Yahoo! FareChase: Search multiple travel sites in one click.
http://farechase.yahoo.com


More information about the freebsd-performance mailing list