mmap max size (qemu VM memsize limit)
Guy Helmer
ghelmer at palisadesys.com
Mon Nov 26 07:16:29 PST 2007
Guy Helmer wrote:
> Gergely CZUCZY wrote:
>> Hello,
>>
>> I'm trying to set up a qemu with 4G memory to the host system
>> on a 7-BETA2, and I've hit some kind of limit in freebsd.
>>
>> When i give more then ~2000MB of memory to qemu, it returns
>> an after trying to mmap() it, saying "Could not map physical memory".
>>
>> At the end of mmap(2) there's a note saying:
>> " The len argument is limited to the maximum file size or
>> available user-
>> land address space. Files may not be able to be made more than
>> 1TB large
>> on 32 bit systems due to file systems restrictions and bugs, but
>> address
>> space is far more restrictive. Larger files may be possible on
>> 64 bit
>> systems."
>>
>> I guess I've found this limit. I've tried to check a few sysctls but
>> I wasn't
>> able to find the one effecting this limit.
>>
>> Could someone point me into the right direction in increasing the
>> maximum
>> mmap-able size?
>>
>>
> If you are using the 32-bit i386 system, then you could be limited by
> a couple of things, the kern.maxdsiz loader tunable or the datasize
> limit are likely. On i386, I believe 1073741824 (1G) is the default
> maxdsiz. With 4GB of RAM, I think you ought to be able to double
> kern.maxdsiz in /boot/loader.conf.
>
Sorry to respond to my own posting: I just realized that the length
value for mmap(), a size_t value, will become negative on i386 for
values 2GB and over. That might be the source of your trouble.
Guy
--
Guy Helmer, Ph.D.
Chief System Architect
Palisade Systems, Inc.
More information about the freebsd-stable
mailing list