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.