Page tree

cgroup setup

  • cgroup setup differs between Scientific Linux 6 (kernel 2.6*) and CentOS 7 (kernel 3.10*)
    • under SL6/SysV you need to install libcgconfig tools etc. and configure them
    • under EL7 systemd will handle cgroup resources itself
    • note: all CPU shares of slots/cgroups are relative within the share of the condor parent cgroup relative to the other cgroups
    • we set slots to be partitionable to allow single and multi core jobs to mix

EL7

(thanks to Brian for the help)

  • Condor job cgroups can be put under the system resource (maybe dedicated resource unit may be possible??)

BASE_CGROUP = /system.slice/condor.service

  • with it a job's cgroup resource slice should be in

/sys/fs/cgroup/{cpu,cpuacct/memory/...}/system.slice/condor.service/condor_var_lib_condor_execute_slot1_*\@WN.FQDN.HERE/

SL6

  • libcgroup needs to be installed and services cgconfig and cgred enabled/started
  • to enable cgroups configure a parent cgroup 'htcondor'
    •  in the Condor worker node config BASE_CGROUP containing all jobs later on as sub-cgroups
    • and the basic cgroup config (the htcondor group defintion might be placed in /etc/cgconfig.d/... instead)

> cat /etc/cgconfig.conf
mount {
    cpuset    = /cgroup/cpuset;
    cpu    = /cgroup/cpu;
    cpuacct    = /cgroup/cpuacct;
    memory    = /cgroup/memory;
    devices    = /cgroup/devices;
    freezer    = /cgroup/freezer;
    net_cls    = /cgroup/net_cls;
    blkio    = /cgroup/blkio;
}
group htcondor {
      cpu {}
      cpuacct {}
      memory {}
      freezer {
      blkio {}
}

  • with it, job cgroup resource infos/limits should be available around

/cgroup/{cpu/cpuacct/memory}/htcondor/condor_var_lib_condor_execute_slot1_*\@WN.FQDN.HERE/

  • No labels