Date: Wed, 23 Nov 2005 14:32:40 -0500 From: Michael Conlen <m@obmail.net> To: =?ISO-8859-1?Q?Arne_W=F6rner?= <arne_woerner@yahoo.com> Cc: freebsd-performance@freebsd.org Subject: Re: mmap() Message-ID: <86229116-3E10-4277-B93D-3A9436C2F37A@obmail.net> In-Reply-To: <20051123182049.99670.qmail@web30301.mail.mud.yahoo.com> References: <20051123182049.99670.qmail@web30301.mail.mud.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Nov 23, 2005, at 1:20 PM, Arne W=F6rner wrote: > --- Michael Conlen <m@obmail.net> wrote: >> On Nov 23, 2005, at 12:11 PM, Arne W=F6rner wrote: >>> --- Michael Conlen <m@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=3D(1024UL*1024*1024) >>> % options MAXSSIZ=3D(128UL*1024*1024) >>> % options DFLDSIZ=3D(1024UL*1024*1024) >>> apropriately. >>> >>> E. g. in your /sys/<arch>/conf/<kernel name> >>> options MAXDSIZ=3D(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 =3D > 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 > At this point I have updated the kernel to include 2 GB for stack and =20= data size and edited the loader.conf to include those options as well =20= with the same result. I really believe the system is being limited =20 elsewhere. -- Michael Conlen=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86229116-3E10-4277-B93D-3A9436C2F37A>