

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Limiter l'utilisation des ressources du processus en AL2 2023 en utilisant cgroups
<a name="resource-limiting-raw-cgroups"></a>

 Bien que son utilisation soit recommandée[Contrôle des ressources avec systemd](resource-limiting-systemd.md), cette section couvre l'utilisation de base des `libcgroup-tools` utilitaires de base afin de limiter l'utilisation du processeur et de la mémoire par les processus. Les deux méthodes sont des alternatives à l'utilisation de l'[`cpulimit`](epel.md#cpulimit)utilitaire, précédemment trouvé dans[EPEL](epel.md). 

 L'exemple ci-dessous décrit l'exécution du test de `stress-ng` stress (à partir du `stress-ng` package) tout en limitant l'utilisation du processeur et de la mémoire à l'aide des utilitaires du `libcgroup-tools` package et des options réglables qu'il contient. `sysfs` 

**Utilisation `libcgroup-tools` sur la ligne de commande pour limiter l'utilisation des ressources**

1.  Installez le package `libcgroup-tools`. 

   ```
   [ec2-user ~]$ sudo dnf install libcgroup-tools
   ```

1.  Créez un `cgroup` avec les `cpu` contrôleurs `memory` et et donnez-lui un nom (`our-example-limits`). Utiliser les `-t` options `-a` et pour permettre à l'`ec2-user`utilisateur de contrôler les réglages du `cgroup` 

   ```
   [ec2-user ~]$ sudo cgcreate -a ec2-user -t ec2-user -g memory,cpu:our-example-limits
   ```

    Il existe désormais un `/sys/fs/cgroup/our-example-limits/` répertoire contenant des fichiers qui peuvent être utilisés pour contrôler chaque réglable. 
**Note**  
 Amazon Linux 2 utilise `cgroup-v1` plutôt `cgroup-v2` ce qui est utilisé le AL2 023. Oui AL2, les `sysfs` chemins sont différents, et il y aura `/sys/fs/cgroup/memory/our-example-limits` `/sys/fs/cgroup/cpu/our-example-limits` des répertoires appartenant `ec2-user` à des fichiers qui pourront être utilisés pour contrôler les limites du`cgroup`. 

1.  Limitez l'utilisation de la mémoire de tous les processus `cgroup` de notre à 100 millions d'octets. 

   ```
   [ec2-user ~]$ echo 100000000 > /sys/fs/cgroup/our-example-limits/memory.max
   ```
**Note**  
 Amazon Linux 2 utilise `cgroup-v1` plutôt que `cgroup-v2` celui utilisé par Amazon Linux 2023. Cela signifie que certains réglages sont différents. Pour limiter l'utilisation de la mémoire AL2, le paramètre réglable ci-dessous est utilisé à la place.   

   ```
   [ec2-user ~]$ echo 10000000 > /sys/fs/cgroup/memory/our-example-limits/memory.limit_in_bytes
   ```

1.  Limitez l'utilisation du processeur pour tous les processus de notre `cgroup` à 10 %. Le format du `cpu.max` fichier est `$MAX $PERIOD` de limiter le groupe à une consommation `$MAX` pour tous`$PERIOD`. 

   ```
   [ec2-user ~]$ echo 10000 100000 > /sys/fs/cgroup/our-example-limits/cpu.max
   ```

    Amazon Linux 2 utilise `cgroup-v1` plutôt que `cgroup-v2` celui utilisé par Amazon Linux 2023. Cela signifie que certains paramètres réglables sont différents, notamment en ce qui concerne la manière de limiter l'utilisation du processeur. 

1.  L'exemple ci-dessous s'exécute `stress-ng` (qui peut être installé en exécutant`dnf install -y stress-ng`) dans `our-example-limits` cgroup. Pendant l'exécution de la `stress-ng` commande, vous pouvez constater `top` qu'elle est limitée à 10 % de CPU heure. 

   ```
   [ec2-user ~]$ sudo cgexec -g memory,cpu:our-example-limits stress-ng --cpu 1
   ```

1. Nettoyez en supprimant le cgroup

   ```
   [ec2-user ~]$ sudo cgdelete -g memory,cpu:our-example-limits
   ```

 La [documentation du noyau Linux pour `cgroup-v2`](https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html) contient de nombreux détails sur leur fonctionnement. La documentation du [processeur](https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html#cpu) et des contrôleurs de [mémoire](https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html#memory) explique en détail comment utiliser chaque option réglable. 