Il 18/07/2014 18:22, Chris Friesen ha scritto: > On 07/18/2014 09:24 AM, Paolo Bonzini wrote: >> Il 18/07/2014 16:58, Chris Friesen ha scritto: >>> >>> I've recently run up against an interesting issue where I had a number >>> of guests running and when I started doing heavy disk I/O on a virtio >>> disk (backed via ceph rbd) the memory consumption spiked and triggered >>> the OOM-killer. >>> >>> I want to reserve some memory for I/O, but I don't know how much it can >>> use in the worst-case. >>> >>> Is there a limit on the number of in-flight I/O operations? (Preferably >>> as a configurable option, but even hard-coded would be good to know as >>> well.) >> >> For rbd, there is no such limit in QEMU except the size of the virtio >> ring buffer, but librbd may add limits of its own. >> >> For files, there's no limit if you use aio=threads, but the more I/O >> operations you trigger the more threads QEMU will create. After 10 >> seconds of idle the threads will be destroyed. >> >> Also for files, the limit is 128 per disk if you use aio=native. You >> can only change it by recompilation only. > > Has anyone looked at enforcing some limits? I'm okay with throttling > performance if necessary, but I really don't want to trigger the > OOM-killer.
I forgot about "-drive ...,iops_max=NNN". :) Paolo