
Tengo un proceso que está minando una blockchain privada y ocupa el 100% de la CPU. No necesito tanta potencia informática para esto, por lo que para reducir mi factura de energía necesito configurar este proceso en particular para que se programe solo de vez en cuando para lograr alrededor del 10% de consumo de CPU.
¿Cómo puedo reducir el intervalo de tiempo que obtiene un proceso en particular?
Respuesta1
Puedes intentar utilizar herramientas comolímite de CPU(normalmente debería estar disponible en repositorios de distribuciones populares). Permite limitar el uso de la CPU por porcentaje, lo que podría resultar más conveniente.
De lo contrario, es posible que desees controlarlo mediante cgroups-tools y establecer el límite con cgcreate
/ cgset
. Necesita ajustar los valores cpu.cfs_period_us
y cpu.cfs_quota_us
.
Respuesta2
#!/bin/bash
#reduces consumption to 10% CPU using `sleep`s
GETH_PID=$1
if [ "$GETH_PID" == "" ] ; then
echo usage $0 GETH_PID
exit
fi
while true
do
kill -STOP $GETH_PID
sleep 9
kill -CONT $GETH_PID
sleep 1
done