Reduzierung der Planungszeit eines einzelnen Prozesses

Reduzierung der Planungszeit eines einzelnen Prozesses

Ich habe einen Prozess, der eine private Blockchain abbaut und 100 % der CPU beansprucht. Ich brauche dafür nicht so viel Rechenleistung. Um meine Stromrechnung zu senken, muss ich diesen bestimmten Prozess so konfigurieren, dass er nur gelegentlich geplant wird, um einen CPU-Verbrauch von etwa 10 % zu erreichen.

Wie reduziere ich das Zeitfenster, das ein bestimmter Prozess erhält?

Antwort1

Sie können versuchen, Tools wieCPU-Begrenzung(sollte normalerweise in Repos beliebter Distributionen verfügbar sein). Es ermöglicht die prozentuale Begrenzung der CPU-Auslastung, was möglicherweise praktischer ist.

Andernfalls möchten Sie es möglicherweise über cgroups-tools steuern und das Limit mit cgcreate/ festlegen cgset. Sie müssen die Werte cpu.cfs_period_usund anpassen cpu.cfs_quota_us.

Antwort2

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

verwandte Informationen