Am 11.02.2012 00:25, schrieb Paul Brook:
>> ii) Some tracing of mine indicates QEMU has a highly dynamic memory
>> usage during runtime, be it due to network layer, block layer or
>> whatever exactly.
> 
> We do? Significant compared to the size of guest ram?  That sounds like a bug.

Attached is a gnuplot from a simpletrace trace file while installing a
SLES 11 SP2 Release Candidate over slirp to virtio with -m 8G on an 8
GiB host (post-1.0 master).

It's not fully scientifically correct (it doesn't take into account
memory allocations not traced by QEMU itself, like pthreads) but it
suggests that after the initial surge to ~8.7 GB we have a fluctuation
of ~0.2 GB for 8 GiB guest RAM. It's larger than I'd expect at least.

Since the user was close to the limit, this lead to an abort. In their
case it was a pthread_create() that failed, and we used tap + virtio.

Didn't investigate the exact origin of the fluctuations (yet), but the
combination of the choice to have virtually all allocations abort (which
is okay at startup) and of doing allocations during guest runtime turns
out Bad(tm) in practice.

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

<<attachment: memorytrace.png>>

Reply via email to