Blkio en terminología de cgroup significa acceso a E / S en dispositivos de bloque . No parece tratarse de regular todas las diferentes formas en que los desarrolladores de software tienen a mano para fines relacionados con E / S.
Parece estar dirigido principalmente a E / S en dispositivos , no en la forma en que el software tiene acceso a los dispositivos. Puede limitar la cantidad de iops, el ancho de banda o un peso con otros procesos, en otras cosas. Parece que blockio no está soportado por blockio en este momento. Está en la documentación oficial :
Actualmente, el subsistema Block I / O no funciona para operaciones de escritura en búfer. Está dirigido principalmente a E / S directa, aunque funciona para operaciones de lectura almacenadas en búfer.
Si echas un vistazo a esta presentación de Linda Wang y Bob Kozdemba de Red Hat, en la página 20+, verás que el gráfico es sobre el ancho de banda del dispositivo por VM, no sobre aleatorio vs bloqueo vs E / S asíncrono.
Parece que ha habido un trabajo reciente de Red Hat para implementarlo directamente en virsh. Se lanzó la semana pasada en libvirt 0.9.9. En unos meses, podrá hacer algo como esto en su distribución favorita:
virsh blkiotune domA --device-weights /dev/sda,250
virsh blkiotune domB --device-weights /dev/sda,750
ionice
una mejor alternativa que usarblkio
de cgroups? ¿Proporciona algo que no ofrece la solución actual del OP? ¿Sabes cómo se relaciona con la E / S asíncrona?