On 08/22/11 01:21, Ryan Freeman wrote:
On Sun, Aug 21, 2011 at 10:09:30PM -0400, David Cantrell wrote:
I am unable to start a qemu guest with more than 256M of memory,
despite having 4G in my system.  I get ENOMEM and qemu exits.  Using
256M or less works just fine.

After some debugging, I see that qemu uses valloc(), which then uses
malloc() and that's preventing anything larger than 256M.

Out of curiosity, I wrote a simple test program that used valloc()
to ask for 256M.  Then I tried 512M, and got the failure I expected.
Debugging passed NKMEMPAGES in front of my eyes and I was curious
what changing that would have.  I built a kernel with:

     option NKMEMPAGES=131072

My test program was able to request 536678400 bytes and no more,
short of 512M by 192512 bytes, or 47 pages on my system.

Despite that test, qemu still wouldn't have any of it and refused to
start guests with more than 256M.  I really am at a loss.  Anyone
have any suggestions?

I am back to running GENERIC.MP unmodified on OpenBSD 4.9.

have you tried increasing ulimit -d?

I did that initially, but it failed for me. Further investigation today revealed I should have dug in to that more. More details in another followup.

--
David Cantrell <david.l.cantr...@gmail.com>
WH6DSN | http://blog.burdell.org/

Reply via email to