Blkio in cgroup термінологія означає доступ до вводу / виводу на блокових пристроях . Здається, не йдеться про регулювання всіх різних способів, які розробники програмного забезпечення мають під рукою для цілей, що стосуються вводу / виводу.
Схоже, це орієнтоване переважно на введення / виведення на пристроях , а не на те, як програмне забезпечення має доступ до пристроїв. Це може обмежувати кількість іопів, пропускну здатність або вагу іншими процесами. Схоже, буферизований запис на даний момент не підтримується блокіо. Це в офіційній документації :
В даний час підсистема Block I / O не працює для буферизованих операцій запису. Він в першу чергу орієнтований на прямий ввід / вивід, хоча працює для буферизованих операцій зчитування.
Якщо ви подивитеся на цю презентацію від Лінди Ван та Боба Коздемби з Red Hat, на сторінці 20+, ви побачите, що графік стосується пропускної здатності пристрою на VM, а не про випадкове проти блокування проти асинхронного вводу / виводу.
Здається, нещодавно Red Hat працювала над її реалізацією безпосередньо у вірш. Він був випущений минулого тижня в libvirt 0.9.9. Через кілька місяців ви зможете зробити щось подібне у своєму улюбленому дистрибутиві:
virsh blkiotune domA --device-weights /dev/sda,250
virsh blkiotune domB --device-weights /dev/sda,750
ionice
є кращою альтернативою, ніж використанняblkio
в групах? Чи передбачено це чимось поточним рішенням ОП? Чи знаєте ви, як це стосується асинхронного IO?