Prendre rendez-vous
  1. Accueil
  2. /
  3. Blog
  4. /
  5. Automatiser l'isolation des ressources avec cgroups et systemd sous Linux

Administration
Linux
Performance
Sécurité

Automatiser l'isolation des ressources avec cgroups et systemd sous Linux

22 juillet 2025

3 min de lecture

Sommaire
Prérequis
1. Vérifier et activer cgroups v2
2. Limiter les ressources d'un service systemd
3. Créer un scope custom (pour un script ou batch)
4. Superviser les cgroups et les ressources
5. Cas d'usage avancé : garantir la stabilité d'un serveur critique
6. Automatiser les profils QoS par Ansible (exemple)
Conclusion

Les cgroups (Control Groups) permettent d'isoler, limiter et surveiller l'utilisation des ressources (CPU, mémoire, I/O) des processus sous Linux. Couplés à systemd, ils donnent un contrôle fin pour garantir la qualité de service (QoS) et la stabilité des serveurs en production.

Prérequis

Pour les bases de systemd et la création de services, consultez notre guide complet. Pour une gestion avancée des timers et dépendances, découvrez les systemd timers et path units avancés.

  • Serveur Linux récent (Debian 12+, Rocky 9+, Ubuntu 22.04+)
  • Accès root ou sudo
  • Système utilisant systemd et cgroups v2 activé (par défaut sur toutes les distributions modernes)

1. Vérifier et activer cgroups v2

Vérifiez la version utilisée :

mount | grep cgroup

Vous devez voir /sys/fs/cgroup type cgroup2.

Pour forcer cgroups v2 (si besoin, reboot requis) :

RHEL/Fedora :

sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=1"
sudo reboot

Debian/Ubuntu :

sudo sed -i 's/GRUB_CMDLINE_LINUX="/GRUB_CMDLINE_LINUX="systemd.unified_cgroup_hierarchy=1 /' /etc/default/grub
sudo update-grub
sudo reboot

2. Limiter les ressources d'un service systemd

Créez ou éditez un fichier d'override pour un service existant :

sudo systemctl edit nginx

Ajoutez dans le bloc [Service] par exemple :

[Service]
CPUQuota=40%
MemoryMax=1G
IOReadBandwidthMax=/dev/vda 10M
IOWriteBandwidthMax=/dev/vda 10M

Rechargez et redémarrez le service :

sudo systemctl daemon-reload
sudo systemctl restart nginx

3. Créer un scope custom (pour un script ou batch)

systemd-run --unit=monjob --scope -p MemoryMax=512M -p CPUQuota=30% ./mon_script.sh

Le process sera isolé avec la QoS définie, sans impacter le reste du système.

4. Superviser les cgroups et les ressources

Utilisez les outils suivants :

  • systemctl status <service>
  • cat /sys/fs/cgroup/<unité>/memory.current
  • cat /sys/fs/cgroup/<unité>/cpu.stat
  • Ou bien surveillez globalement :
    systemd-cgtop
    

5. Cas d'usage avancé : garantir la stabilité d'un serveur critique

  • Limiter les backups gourmands : CPUQuota=10%, MemoryMax=256M
  • Garantir la priorité aux services web : CPUWeight=1024 pour le service web, CPUWeight=100 pour les tâches batch
  • Contrôler la latence sur des bases de données : IOWeight=1000 pour le service DB, IOWeight=100 pour les scripts secondaires

6. Automatiser les profils QoS par Ansible (exemple)

- name: Créer le fichier override pour NGINX
  copy:
    dest: /etc/systemd/system/nginx.service.d/limits.conf
    content: |
      [Service]
      CPUQuota=40%
      MemoryMax=1G
  notify: Restart nginx

- name: Recharger systemd
  systemd:
    daemon_reload: yes

handlers:
  - name: Restart nginx
    systemd:
      name: nginx
      state: restarted

Conclusion

La gestion fine des cgroups avec systemd offre un contrôle total sur la consommation de ressources, renforce la sécurité, la performance et la résilience des serveurs Linux modernes, surtout en environnement multi-tenant ou cloud privé.

Besoin d'aide sur ce sujet ?

Notre équipe d'experts est là pour vous accompagner dans vos projets d'infrastructure et d'infogérance.

Contactez-nous

Articles similaires

Auditer la sécurité d'un serveur Linux en 2026 : outils et méthodologie
Sécurité
Linux
Administration

Auditer la sécurité d'un serveur Linux en 2026 : outils et méthodologie

Méthodologie complète pour auditer la sécurité de vos serveurs Linux. Lynis, OpenSCAP, CIS Benchmarks, auditd et AIDE pour une infrastructure durcie.

3 mars 2026

Lire plus

Kernel Linux 2026 : tuning, modules, compilation et paramètres système
Administration
Linux
Performance

Kernel Linux 2026 : tuning, modules, compilation et paramètres système

Guide complet kernel Linux 2026 : sysctl tuning, modules chargement, compilation kernel custom, paramètres boot, optimisation performance.

6 févr. 2026

Lire plus

SELinux 2026 : sécurité obligatoire, policies et hardening Linux
Linux
Sécurité
Administration

SELinux 2026 : sécurité obligatoire, policies et hardening Linux

Guide complet SELinux 2026 : modes enforcing/permissive, contexts, policies, troubleshooting, audit2allow, hardening serveurs et applications.

1 févr. 2026

Lire plus


SHPV, votre partenaire de confiance en infrastructure et infogérance informatique en France.

SHPV
Prendre rendez-vousNous contacter
Expertise
InfrastructureDatacenterInfogéranceCloudHébergementTransit IP
Légales
Conditions Générales de VenteCPS - Contrat de ServicesCPS - Hébergement CloudCPS - Microsoft 365Accord sous-traitance RGPDTarifs interventions

SHPV © 2026 - Tous droits réservés

Mentions légalesPolitiques de confidentialité
SHPV FRANCE - SAS au capital de 16 000 € - 52 Rue Romain Rolland, 71230 Saint-Vallier - SIRET n°80886287400035 - R.C.S. Chalon-sur-Saône. Par téléphone 09 72 310 818 - Email: support@shpv.fr