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. Paolo