Author

Topic: Limiting CPU usage while contributing to Bitcoin (Read 3477 times)

hero member
Activity: 900
Merit: 1000
Crypto Geek
i run with gen turned off but still the laptop server fan spins up only when running bc, keeping me awake.

How do i safely shutdown the commandline client?
newbie
Activity: 10
Merit: 1
cpulimit uses signals SIGSTOP/SICONT to achieve the cpu usage percent.

I have become aware of (likely) RPC interface of bitcoind, after trapped by SIGSTOP, discards commands. So, 'bitcoind getinfo' or 'bitcoind stop' fail too many times.

Manually releasing bitcoind proves this behavior
Code:
kill -s STOP cpulimit
sleep 0.1
kill -s CONT bitcoind
sleep 0.1
bitcoind getinfo
kill -s CONT cpulimit
newbie
Activity: 10
Merit: 1
Audience: you could be interested on limiting CPU usage of bitcoind while mining (gen=1 in your bitcoin.conf) if:

  • You are motivated to contribute (modest, but actually) to the global effort to verify Bitcoin transactions.
  • Definitively, you are *not* suffering from BC-gold Fever.
  • You do *not* want to hear roaring fans every time Bitcoin is instructed to generate hashes.
  • You are an happy user of an Unix box

Assuming your bitcoin.conf file includes "gen=1", and you want to allow a 10% of CPU usage. A quite simple solution, from command line:
Code:
bitcoind
cpulimit -z -l 10 -p `pidof bitcoind` &

A more elaborated solution, i.e. this piece of code from a Bash script:
Code:
OPID=($(pidof bitcoind))
su bitcoin -c "$BITCOIND_DIR/bitcoind -datadir=$TEST_DATA $*"
BPID=$(pidof ${OPID[@]/#/-o } bitcoind)
if [[ -n $BPID ]]; then (cpulimit -z -l 10 -p $BPID &); fi

[Likely, you will need to get the cpulimit package: apt-get install cpulimit]

Please, test and feedback, JP
Jump to: