LXC (Linux Containers) maakt gebruik van cgroups (control groups) in het Linux-besturingssysteem om de CPU-bronnen toe te wijzen tussen containers.
Cgroups is een Linux-kernel-eigenschap die gebruikt wordt om de systeembronnen onder verschillende processen en toepassingen te beheren en te verdelen. Het stelt LXC in staat om specifieke limieten in te stellen voor de hoeveelheid CPU-cycli die een container kan gebruiken, evenals andere resources.
Je kan bijvoorbeeld bepalen dat een bepaalde container niet meer dan 50% van de CPU-cycli mag gebruiken, of je kan de prioriteit van verschillende containers aanpassen om te verzekeren dat bepaalde belangrijke containers altijd toegang hebben tot de benodigde hulpbronnen.
Daarnaast kan met behulp van cgroups ook het cpu-pinmapping worden geconfigureerd, wat betekent dat bepaalde CPU-cores worden toegewezen aan specifieke containers voor betere performance.
Tenslotte stelt LXC ook in staat om ‘shares’ van de CPU tijd te verdelen tussen de containers. Dit betekent dat je de relatieve verdeling van CPU-bronnen kunt wijzigen op een manier die verder gaat dan de eenvoudige percentage limieten door specifiek de CPU ‘shares’ te bepalen.