The cgroups/blkio
isolator provides block I/O performance isolation for containers through the blkio Linux cgroup subsystem. To enable the isolator, append cgroups/blkio
to the --isolation
flag before starting the agent.
The blkio subsystem enables I/O statistics collection and allows operators to apply I/O control policies for block devices. The isolator places the processes of a Mesos container into a separate blkio cgroup hierarchy. At the moment, it only supports reporting containers' I/O statistics on block devices to the agent. A sample statistics would be something like:
[{ "executor_id": "executor", "executor_name": "name", "framework_id": "framework", "source": "source", "statistics": { "blkio": { "cfq": [ { "io_merged": [ { "op": "TOTAL", "value": 0 } ], "io_queued": [ { "op": "TOTAL", "value": 0 } ], "io_service_bytes": [ { "op": "TOTAL", "value": 0 } ], "io_service_time": [ { "op": "TOTAL", "value": 0 } ], "io_serviced": [ { "op": "TOTAL", "value": 0 } ], "io_wait_time": [ { "op": "TOTAL", "value": 0 } ] } ], "cfq_recursive": [ { "io_merged": [ { "op": "TOTAL", "value": 0 } ], "io_queued": [ { "op": "TOTAL", "value": 0 } ], "io_service_bytes": [ { "op": "TOTAL", "value": 0 } ], "io_service_time": [ { "op": "TOTAL", "value": 0 } ], "io_serviced": [ { "op": "TOTAL", "value": 0 } ], "io_wait_time": [ { "op": "TOTAL", "value": 0 } ] } ], "throttling": [ { "device": { "major": 8, "minor": 0 }, "io_service_bytes": [ { "op": "READ", "value": 0 }, { "op": "WRITE", "value": 4096 }, { "op": "SYNC", "value": 0 }, { "op": "ASYNC", "value": 4096 }, { "op": "TOTAL", "value": 4096 } ], "io_serviced": [ { "op": "READ", "value": 0 }, { "op": "WRITE", "value": 1 }, { "op": "SYNC", "value": 0 }, { "op": "ASYNC", "value": 1 }, { "op": "TOTAL", "value": 1 } ] }, { "io_service_bytes": [ { "op": "TOTAL", "value": 4096 } ], "io_serviced": [ { "op": "TOTAL", "value": 1 } ] } ] }, "cpus_limit": 1.1, "mem_limit_bytes": 167772160, "timestamp": 1500335339.30187 } }]
For more details about the blkio subsystem, please refer to the Block I/O Controller Linux kernel documentation.