Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Limitación del uso de recursos de procesos en AL2023 mediante cgroups
Si bien se recomienda usar Control de recursos con systemd, en esta sección se describe el uso básico de las utilidades básicas libcgroup-tools para limitar el uso de la CPU y la memoria de los procesos. Ambos métodos son alternativas al uso de la utilidad cpulimit, que anteriormente se encontraba en EPEL.
El siguiente ejemplo describe la ejecución de la prueba de stress-ng estrés (desde el paquete stress-ng) y, al mismo tiempo, limitar el uso de la CPU y la memoria mediante las utilidades del paquete libcgroup-tools y los ajustes incluidos sysfs.
Use libcgroup-tools en la línea de comandos para limitar el uso de recursos
-
Instale el paquete
libcgroup-tools.[ec2-user ~]$sudo dnf installlibcgroup-tools -
Cree un
cgroupcon los controladoresmemoryycpu, y asígnele un nombre (our-example-limits). Utilice las opciones-ay-tpara permitir al usuarioec2-usercontrolar los ajustes decgroup[ec2-user ~]$sudo cgcreate -aec2-user-tec2-user-g memory,cpu:our-example-limitsAhora hay un directorio
/sys/fs/cgroup/our-example-limits/que contiene archivos que se pueden usar para controlar cada uno de los parámetros ajustables.nota
Amazon Linux 2 usa
cgroup-v1en lugar decgroup-v2que se usa en AL2023. En AL2, las rutassysfsson diferentes, y habrá directorios/sys/fs/cgroup/memory/our-example-limitsy/sys/fs/cgroup/cpu/our-example-limitspropiedad deec2-userque contienen archivos que se pueden usar para controlar los límites decgroup. -
Limite el uso de memoria de todos los procesos de nuestro
cgroupa 100 millones de bytes.[ec2-user ~]$echo100000000> /sys/fs/cgroup/our-example-limits/memory.maxnota
Amazon Linux 2 usa
cgroup-v1en lugar decgroup-v2que usa Amazon Linux 2023. Esto significa que algunos parámetros ajustables son diferentes. Para limitar el uso de memoria en AL2, se utiliza en su lugar el siguiente parámetro ajustable.[ec2-user ~]$echo10000000> /sys/fs/cgroup/memory/our-example-limits/memory.limit_in_bytes -
Limite el uso de la CPU de todos los procesos de nuestro
cgroupal 10 %. El formato del archivocpu.maxes$MAX $PERIOD, lo que limita al grupo a consumir$MAXpor cada$PERIOD.[ec2-user ~]$echo10000 100000> /sys/fs/cgroup/our-example-limits/cpu.maxAmazon Linux 2 usa
cgroup-v1en lugar decgroup-v2que usa Amazon Linux 2023. Esto significa que algunos parámetros ajustables son diferentes, incluida la forma de limitar el uso de la CPU. -
El siguiente ejemplo ejecuta
stress-ng(que se puede instalar ejecutandodnf install -y stress-ng) en el cgroup deour-example-limits. Mientras se ejecuta el comandostress-ng, se puede observar contopque está limitado al 10 % del tiempo de CPU.[ec2-user ~]$sudo cgexec -g memory,cpu:our-example-limitsstress-ng --cpu 1 -
Haga una limpieza eliminando el cgroup
[ec2-user ~]$sudo cgdelete -g memory,cpu:our-example-limits
La documentación del kernel de Linux para cgroup-v2