Aller au contenu
Contactez-nous
  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 donne un contrôle total sur la consommation de ressources. Elle renforce la sécurité 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

AIDE : intégrité des fichiers Linux contre rootkits et compromissions
Sécurité
Linux
Administration

AIDE : intégrité des fichiers Linux contre rootkits et compromissions

Configurer AIDE pour détecter modifications fichiers système, baseline, comparaisons, intégration cron et alerting. Outil d'intégrité Linux historique, toujours utilisé en production.

14 juin 2026

Lire plus

auditd et ausearch : audit kernel Linux pour la conformité
Sécurité
Linux
Administration

auditd et ausearch : audit kernel Linux pour la conformité

Configurer auditd, écrire des règles audit, requêter avec ausearch et aureport. Audit syscalls et fichiers, intégration SIEM, conformité PCI/CIS, retours ops.

13 juin 2026

Lire plus

systemd-cryptenroll et TPM2 : déchiffrement automatique LUKS
Sécurité
Linux
Administration

systemd-cryptenroll et TPM2 : déchiffrement automatique LUKS

Lier une partition LUKS au TPM2 de la machine avec systemd-cryptenroll. Déchiffrement automatique au boot, attestation Secure Boot, sealing PCR, retours ops.

8 juin 2026

Lire plus


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

SHPV
Contactez-nousNous 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