mmap()
Michael Conlen
m at obmail.net
Wed Nov 23 11:32:46 PST 2005
On Nov 23, 2005, at 1:20 PM, Arne Wörner wrote:
> --- 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
>
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
More information about the freebsd-performance
mailing list