сокращение времени планирования отдельного процесса

сокращение времени планирования отдельного процесса

У меня есть процесс, который майнит частный блокчейн, и он потребляет 100% ресурсов ЦП. Мне не нужно так много вычислительной мощности для этого, поэтому, чтобы уменьшить счет за электроэнергию, мне нужно настроить этот конкретный процесс так, чтобы он запускался только время от времени, чтобы достичь потребления ЦП примерно в 10%.

Как уменьшить временной интервал, выделяемый определенному процессу?

решение1

Вы можете попробовать использовать такие инструменты, какcpulimit(обычно должно быть доступно в репозиториях популярных дистрибутивов). Позволяет ограничить использование процессора в процентах, что может быть более удобно.

В противном случае вы можете захотеть управлять им через cgroups-tools и установить лимит с помощью cgcreate/ cgset. Вам нужно настроить значения cpu.cfs_period_usи cpu.cfs_quota_us.

решение2

#!/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

Связанный контент