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örner wrote:
> --- Michael Conlen <m@obmail.net> wrote:
>> On Nov 23, 2005, at 12:11 PM, Arne Wörner 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=(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
>
At this point I have updated the kernel to include 2 GB for stack and
data size and edited the loader.conf to include those options as well
with the same result. I really believe the system is being limited
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>
