Blkio trong thuật ngữ cgroup là viết tắt của quyền truy cập vào I / O trên các thiết bị khối . Dường như không phải là về việc điều chỉnh tất cả các cách khác nhau mà các nhà phát triển phần mềm có trong tay cho các mục đích liên quan đến I / O.
Nó dường như được nhắm mục tiêu chủ yếu vào I / O trên các thiết bị , chứ không phải trên cách phần mềm có quyền truy cập vào thiết bị. Nó có thể giới hạn số lượng iops, băng thông hoặc trọng số với các quy trình khác, trong những thứ khác. Có vẻ như bộ đệm được viết không được hỗ trợ bởi blockio vào lúc này. Đó là trong tài liệu chính thức :
Hiện tại, hệ thống con Block I / O không hoạt động cho các hoạt động ghi đệm. Nó chủ yếu được nhắm mục tiêu vào I / O trực tiếp, mặc dù nó hoạt động cho các hoạt động đọc được đệm.
Nếu bạn xem bản trình bày này từ Linda Wang và Bob Kozdemba của Red Hat, trên trang 20+, bạn sẽ thấy biểu đồ nói về băng thông thiết bị trên mỗi VM, không phải về ngẫu nhiên so với chặn I / O không đồng bộ.
Có vẻ như đã có công việc gần đây của Red Hat để thực hiện nó trực tiếp vào virsh. Nó đã được phát hành vào tuần trước trong libvirt 0.9.9. Trong một vài tháng, bạn sẽ có thể làm một cái gì đó như thế này trong bản phân phối yêu thích của bạn:
virsh blkiotune domA --device-weights /dev/sda,250
virsh blkiotune domB --device-weights /dev/sda,750
ionice
một sự thay thế tốt hơn so với việc sử dụngblkio
từ các nhóm? Liệu nó có cung cấp một cái gì đó mà giải pháp hiện tại của OP không? Bạn có biết làm thế nào nó liên quan đến IO không đồng bộ?