cgroups
Control Groups: la funzione del kernel Linux che limita e misura le risorse (CPU, RAM, I/O, rete, PID) usate da un gruppo di processi. Insieme ai namespace è il fondamento dei container.
Nella v1 ogni risorsa (memory, cpu, blkio) aveva una gerarchia separata; la v2 (cgroupv2, dal kernel 4.5, 2016) unifica tutto in un solo albero con tutti i controller. Kubernetes usa i cgroups per i limiti dei pod (quote di CPU, limite di memoria, con conseguente OOMKilled), systemd ne crea uno per ogni servizio e docker --cpus=2 si traduce in cpu.max. Gli eventi di pressione della memoria (PSI) permettono al kernel di segnalare che un gruppo è vicino all'OOM. Le distribuzioni recenti usano ormai cgroupv2 per impostazione predefinita.