
프라이빗 블록체인을 채굴하는 프로세스가 있는데 CPU를 100% 사용합니다. 이를 위해서는 그렇게 많은 컴퓨팅 성능이 필요하지 않으므로 에너지 비용을 줄이려면 이 특정 프로세스를 가끔 한 번만 예약하여 약 10%의 CPU 소비를 달성하도록 구성해야 합니다.
특정 프로세스가 얻는 타임슬라이스를 어떻게 줄이나요?
답변1
다음과 같은 도구를 사용해 볼 수 있습니다.CPU 한도(일반적으로 인기 있는 배포판의 저장소에서 사용할 수 있어야 합니다). CPU 사용량을 백분율로 제한할 수 있어 더욱 편리합니다.
그렇지 않으면 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