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.

Windows Job Object Support in Mesos Containerizer

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.aspx). They do not apply to Windows Containers or Docker Containers.

CPU limits

The windows/cpu isolator sets a hard cap on the CPU usage, enforced by the operating system. This uses Job Object CPU Rate Control.aspx):

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.

Statistics

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.

Memory limits

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.aspx):

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.

Statistics

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.