Linux Control Groups (cgroups)

Minimum Required Role: Full Administrator. This feature is not available when using Cloudera Manager to manage Data Hub clusters.

Cloudera Manager supports the Linux control groups (cgroups) kernel feature. With cgroups, administrators can impose per-resource restrictions and limits on services and roles. This provides the ability to allocate resources using cgroups to enable isolation of compute frameworks from one another. Resource allocation is implemented by setting properties for the services and roles.

Linux Distribution Support

Cgroups are a feature of the Linux kernel, and as such, support depends on the host's Linux distribution and version as shown in the following tables. If a distribution lacks support for a given parameter, changes to the parameter have no effect.

Table 1. RHEL-compatible
Distribution CPU Shares I/O Weight Memory Soft Limit Memory Hard Limit
Red Hat Enterprise Linux, CentOS, and Oracle Enterprise Linux 7
Red Hat Enterprise Linux, CentOS, and Oracle Enterprise Linux 6
Table 2. SLES
Distribution CPU Shares I/O Weight Memory Soft Limit Memory Hard Limit
SUSE Linux Enterprise Server 12
SUSE Linux Enterprise Server 11
Table 3. Ubuntu
Distribution CPU Shares I/O Weight Memory Soft Limit Memory Hard Limit
Ubuntu 16.04 LTS
Ubuntu 16.04 LTS
Ubuntu 14.04 LTS
Ubuntu 12.04 LTS
Table 4. Debian
Distribution CPU Shares I/O Weight Memory Soft Limit Memory Hard Limit
Debian 7.1
Debian 7.0
Debian 6.0
Table 5. Oracle linux (OL)
Distribution CPU Shares I/O Weight Memory Soft Limit Memory Hard Limit
Oracle linux 7
Oracle linux 6

The exact level of support can be found in the Cloudera Manager Agent log file, shortly after the Agent has started. In the log file, look for an entry like this:

Found cgroups capabilities: {
'has_memory': True, 
'default_memory_limit_in_bytes': 9223372036854775807, 
'writable_cgroup_dot_procs': True, 
'has_cpu': True, 
'default_blkio_weight': 1000, 
'default_cpu_shares': 1024, 
'has_blkio': True}

The has_cpu and similar entries correspond directly to support for the CPU, I/O, and memory parameters.