단일 프로세스의 스케줄링 시간 단축

단일 프로세스의 스케줄링 시간 단축

프라이빗 블록체인을 채굴하는 프로세스가 있는데 CPU의 100%를 차지하고 있습니다. 이를 위해서는 그렇게 많은 컴퓨팅 성능이 필요하지 않으므로 에너지 소비를 줄이려면 이 특정 프로세스가 가끔씩만 예약되도록 구성하여 약 10%의 CPU 소비를 달성해야 합니다.

특정 프로세스에 소요되는 시간을 어떻게 줄일 수 있나요?

답변1

다음과 같은 도구를 사용해 볼 수 있습니다.CPU 한도(일반적으로 인기 있는 배포판의 저장소에서 사용할 수 있습니다.) CPU 사용량을 백분율로 제한할 수 있어 더욱 편리합니다.

cgcreate그렇지 않으면 cgroups-tools 및 제한 사용/설정을 통해 제어할 수 있습니다 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

관련 정보