
プライベート ブロックチェーンをマイニングするプロセスがあり、CPU を 100% 使用しています。これにはそれほど多くの計算能力は必要ないため、電気代を削減するには、この特定のプロセスをたまにのみスケジュールして、CPU の消費を約 10% に抑えるように構成する必要があります。
特定のプロセスが取得するタイムスライスを減らすにはどうすればよいですか?
答え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