GNU/Linux >> Tutoriales Linux >  >> Linux

Uso de CPUQuota en systemd

Formas alternativas de limitar el uso de la CPU:1. Utilice el comando taskset.2. Utilice grupos de control.3. Use la ventana acoplable y limite la utilización de la CPU usando cpuset.4. Reducir el número de subprocesos en la aplicación. Se requieren algunos cálculos con este enfoque.


Otra cosa que podría intentar es ejecutar cpulimit como un demonio. No he probado esto; es solo una idea

Está en los repositorios de ubuntu:

sudo apt install cpulimit

Usa systemd si quieres. Esto debería limitar todos instancias de dd al 20% de la CPU.

[Unit]
Description=dd CPU Limiter

[Service]
ExecStart=/usr/bin/cpulimit -e dd -l 20

[Install]
WantedBy=multi-user.target

fuente


Accidentalmente encontré otra respuesta válida dada en https://unix.stackexchange.com/questions/213903/linux-cgroups-limit-cpu-usage-in-absolute-values-which-do-not-depend-on-cpu -spe

Si desea un límite estricto en el ancho de banda de la CPU, puede usar cpu.cfs_quota_us y cpu.cfs_period_us. De los documentos CFS del Kernel:

El ancho de banda permitido para un grupo se especifica mediante una cuota y un período. Dentro de cada "período" dado (microsegundos), un grupo puede consumir solo hasta microsegundos de "cuota" de tiempo de CPU. Cuando el consumo de ancho de banda de la CPU de un grupo supera este límite (para ese período), las tareas que pertenecen a su jerarquía se limitarán y no podrán volver a ejecutarse hasta el próximo período.


Linux
  1. Use temporizadores systemd en lugar de cronjobs

  2. Cómo usar el comando Systemctl para administrar los servicios de Systemd

  3. ¿Cómo obtener el porcentaje de uso del procesador con bash?

  4. Cómo limitar la memoria para un servicio administrado por systemd

  5. No se puede usar el gobernador cpufreq del espacio de usuario y establecer la frecuencia de la CPU

Cómo establecer el límite de uso de CPU y memoria de Docker

Cómo usar el comando ulimit de Linux

Cómo usar journalctl para ver y manipular registros de Systemd

Límite de memoria y límite de CPU en Docker Container

¿Hay alguna manera de limitar el consumo total de CPU?

¿Cómo limitar un proceso a un núcleo de CPU en Linux?