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
Bien que son utilisation soit recommandéeContrôle des ressources avec systemd, 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'cpulimitutilitaire, précédemment trouvé dansEPEL.
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
-
Installez le package
libcgroup-tools.[ec2-user ~]$sudo dnf installlibcgroup-tools -
Créez un
cgroupavec lescpucontrôleursmemoryet et donnez-lui un nom (our-example-limits). Utiliser les-toptions-aet pour permettre à l'ec2-userutilisateur de contrôler les réglages ducgroup[ec2-user ~]$sudo cgcreate -aec2-user-tec2-user-g memory,cpu:our-example-limitsIl 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-v1plutôtcgroup-v2ce qui est utilisé le AL2 023. Oui AL2, lessysfschemins sont différents, et il y aura/sys/fs/cgroup/memory/our-example-limits/sys/fs/cgroup/cpu/our-example-limitsdes répertoires appartenantec2-userà des fichiers qui pourront être utilisés pour contrôler les limites ducgroup. -
Limitez l'utilisation de la mémoire de tous les processus
cgroupde notre à 100 millions d'octets.[ec2-user ~]$echo100000000> /sys/fs/cgroup/our-example-limits/memory.maxNote
Amazon Linux 2 utilise
cgroup-v1plutôt quecgroup-v2celui 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 ~]$echo10000000> /sys/fs/cgroup/memory/our-example-limits/memory.limit_in_bytes -
Limitez l'utilisation du processeur pour tous les processus de notre
cgroupà 10 %. Le format ducpu.maxfichier est$MAX $PERIODde limiter le groupe à une consommation$MAXpour tous$PERIOD.[ec2-user ~]$echo10000 100000> /sys/fs/cgroup/our-example-limits/cpu.maxAmazon Linux 2 utilise
cgroup-v1plutôt quecgroup-v2celui 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. -
L'exemple ci-dessous s'exécute
stress-ng(qui peut être installé en exécutantdnf install -y stress-ng) dansour-example-limitscgroup. Pendant l'exécution de lastress-ngcommande, vous pouvez constatertopqu'elle est limitée à 10 % de CPU heure.[ec2-user ~]$sudo cgexec -g memory,cpu:our-example-limitsstress-ng --cpu 1 -
Nettoyez en supprimant le cgroup
[ec2-user ~]$sudo cgdelete -g memory,cpu:our-example-limits
La documentation du noyau Linux pour cgroup-v2