Am 10.02.2012 12:23, schrieb Zhi Yong Wu: > On Fri, Feb 10, 2012 at 7:10 PM, Stefan Hajnoczi <stefa...@gmail.com> wrote: >> On Fri, Feb 10, 2012 at 11:00 AM, Zhi Yong Wu <zwu.ker...@gmail.com> wrote: >>> On Fri, Feb 10, 2012 at 6:35 PM, Stefan Hajnoczi <stefa...@gmail.com> wrote: >>>> On Fri, Feb 10, 2012 at 9:47 AM, Zhi Yong Wu <zwu.ker...@gmail.com> wrote: >>>>> Today i tried to create one VM with the option "-m 4000", and found it >>>>> failed with the following errors: >>>>> >>>>> Failed to allocate 4194304000 B: Cannot allocate memory >>>>> Aborted (core dumped) >>>> >>>> Did you run on a 32-bit host? >>> No, it is one x86_64 host. >> >> That is weird. Have you tried strace(1) to find out which system call >> is failing and why? > It seems that it failed to call mmap(). ENOMEM
/etc/sysconfig/ulimit on SUSE has a default SOFTVIRTUALLIMIT value of "80", i.e. 80% of the available physical + swap memory can be allocated by one process. For our SLES use cases we applied a simple patch to raise this limit via RLIMIT_AS (so that, e.g., a 24 GB RAM host can create VMs > -m 20G). ulimit -Sv can change this value, too. For upstream QEMU we felt setting proper limits is the responsibility of a management tool. Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg