The windows/cpu
isolator allows operators to provide CPU limitations and CPU usage accounting for containers within a Mesos cluster. To enable the windows/cpu
isolator, append windows/cpu
to the --isolation
flag when starting the Mesos agent.
The windows/mem
isolator allows operators to provide memory limitations and memory usage accounting for containers within a Mesos cluster. To enable the windows/mem
isolator, append windows/mem
to the --isolation
flag when starting the Mesos agent.
Both of these isolators apply to commands launched by the Mesos Containerizer, which are grouped into a Windows Job Object. They do not apply to Windows Containers or Docker Containers.
The windows/cpu
isolator sets a hard cap on the CPU usage, enforced by the operating system. This uses Job Object CPU Rate Control:
Sets the maximum portion of processor cycles that the threads in a job object can use during each scheduling interval. After the job reaches this limit for a scheduling interval, no threads associated with the job can run until the next scheduling interval.
NOTE: This does not support bursting. Unlike the similarly named cgroups/cpu
isolator, this is a hard cap, not a soft cap.
This isolator exports several valuable per-container CPU usage metrics that are available from agent's monitor/statistics
endpoint.
processes
- number of processes in the job object;cpus_user_time_secs
- time spent by tasks of the job object in user mode;cpus_system_time_secs
- time spent by tasks of the job object in kernel mode.The windows/memory
isolator sets a hard cap on the virtual memory usage, enforced by the operating system. This uses Job Object Limit Job Memory:
Sets the limit for the virtual memory that can be committed for the job. When a process attempts to commit memory that would exceed the job-wide limit, it fails.
This isolator exports valuable per-container memory usage metrics that are available from agent's monitor/statistics
endpoint.
mem_total_bytes
- sum of the current working set size for all processes in the job object. This does not include memory that is swapped out.