プライベートブロックチェーンを採掘するプロセスがあり、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