If you're new to Mesos
See the getting started page for more information about downloading, building, and deploying Mesos.
If you'd like to get involved or you're looking for support
See our community page for more details.
Cgroups ‘blkio’ Subsystem Support in Mesos Containerizer
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.