さくらのVPS(debian 8.2)でモナコインを cpumining する

契約しているVPS(Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz)でCPUリソースがずっとアイドルしているので mining してみることにしました。
https://github.com/tpruvot/cpuminer-multi を使います。

結論を先に書くとdockerを使え、です。
tpruvot/cpuminer-multiDockerfileがメンテされていなかったので、forkしてDockerfile を更新しておいたリポジトリをおいてありますので使ってください。
https://github.com/jiikko/cpuminer-multi

docker build ./ -t cpuminer
docker run --rm cpuminer -a lyra2rev2 --url stratum+tcp://stratum-jp.asicpool.info:2101 -u username -p password
[2017-12-30 09:17:05] accepted: 624/625 (diff 0.001), 91.70 kH/s yes!
[2017-12-30 09:17:43] CPU #0: 45.02 kH/s
[2017-12-30 09:18:04] CPU #1: 45.28 kH/s
[2017-12-30 09:18:15] CPU #1: 44.85 kH/s
[2017-12-30 09:18:15] accepted: 625/626 (diff 0.001), 89.87 kH/s yes!
[2017-12-30 09:18:44] CPU #0: 44.04 kH/s
[2017-12-30 09:19:15] CPU #1: 44.54 kH/s
[2017-12-30 09:19:27] CPU #1: 44.49 kH/s
[2017-12-30 09:19:27] accepted: 626/627 (diff 0.001), 88.53 kH/s yes!

このホストは 2Gプラン(3コア)で動かしており、2スレッドでマイニングしています。


下記は、ホスト上で直接ビルドするとsegmentation faultする様子です。 (ラズパイ2台は問題なくビルドできたので原因がいまいちよくわからず)

$ ./build.sh
[...]
mv -f asm/.deps/cpuminer-neoscrypt_asm.Tpo asm/.deps/cpuminer-neoscrypt_asm.Po
mv -f asm/.deps/cpuminer-aesb-x64.Tpo asm/.deps/cpuminer-aesb-x64.Po
mv -f asm/.deps/cpuminer-scrypt-x64.Tpo asm/.deps/cpuminer-scrypt-x64.Po
mv -f asm/.deps/cpuminer-sha2-x64.Tpo asm/.deps/cpuminer-sha2-x64.Po
g++  -g -O2 -Lyes/lib -Lyes/lib  -Lyes/lib -Lyes/lib  -o cpuminer cpuminer-cpu-miner.o cpuminer-util.o cpuminer-api.o cpuminer-sysinfos.o cpuminer-uint256.o sha3/cpuminer-sph_keccak.o sha3/cpuminer-sph_hefty1.o sha3/cpuminer-sph_groestl.o sha3/cpuminer-sph_skein.o sha3/cpuminer-sph_bmw.o sha3/cpuminer-sph_jh.o sha3/cpuminer-sph_shavite.o sha3/cpuminer-sph_blake.o sha3/cpuminer-mod_blakecoin.o sha3/cpuminer-sph_luffa.o sha3/cpuminer-sph_cubehash.o sha3/cpuminer-sph_simd.o sha3/cpuminer-sph_echo.o sha3/cpuminer-sph_hamsi.o sha3/cpuminer-sph_haval.o sha3/cpuminer-sph_fugue.o sha3/cpuminer-sph_ripemd.o sha3/cpuminer-sph_sha2.o sha3/cpuminer-sph_sha2big.o sha3/cpuminer-sph_shabal.o sha3/cpuminer-sph_whirlpool.o sha3/cpuminer-gost_streebog.o crypto/cpuminer-blake2s.o crypto/cpuminer-blake2b.o crypto/cpuminer-oaes_lib.o crypto/cpuminer-c_keccak.o crypto/cpuminer-c_groestl.o crypto/cpuminer-c_blake256.o crypto/cpuminer-c_jh.o crypto/cpuminer-c_skein.o crypto/cpuminer-hash.o crypto/cpuminer-aesb.o lyra2/cpuminer-Lyra2.o lyra2/cpuminer-Sponge.o yescrypt/cpuminer-yescrypt-common.o yescrypt/cpuminer-yescrypt-best.o yescrypt/cpuminer-sha256_Y.o algo/cpuminer-axiom.o algo/cpuminer-bastion.o algo/cpuminer-blake.o algo/cpuminer-blakecoin.o algo/cpuminer-blake2.o algo/cpuminer-bmw256.o algo/cpuminer-c11.o algo/cpuminer-cryptonight.o algo/cpuminer-cryptolight.o algo/cpuminer-decred.o algo/cpuminer-drop.o algo/cpuminer-fresh.o algo/cpuminer-groestl.o algo/cpuminer-heavy.o algo/cpuminer-ink.o algo/cpuminer-jha.o algo/cpuminer-lbry.o algo/cpuminer-luffa.o algo/cpuminer-lyra2re.o algo/cpuminer-lyra2rev2.o algo/cpuminer-myr-groestl.o algo/cpuminer-keccak.o algo/cpuminer-pentablake.o algo/cpuminer-quark.o algo/cpuminer-neoscrypt.o algo/cpuminer-nist5.o algo/cpuminer-pluck.o algo/cpuminer-qubit.o algo/cpuminer-scrypt.o algo/cpuminer-scrypt-jane.o algo/cpuminer-sha2.o algo/cpuminer-sia.o algo/cpuminer-sibcoin.o algo/cpuminer-skein.o algo/cpuminer-skein2.o algo/cpuminer-s3.o algo/cpuminer-bitcore.o algo/cpuminer-timetravel.o algo/cpuminer-tribus.o algo/cpuminer-veltor.o algo/cpuminer-x11evo.o algo/cpuminer-x11.o algo/cpuminer-x13.o algo/cpuminer-x14.o algo/cpuminer-x15.o algo/cpuminer-x17.o algo/cpuminer-xevan.o algo/cpuminer-yescrypt.o algo/cpuminer-zr5.o asm/cpuminer-neoscrypt_asm.o  asm/cpuminer-sha2-x64.o asm/cpuminer-scrypt-x64.o asm/cpuminer-aesb-x64.o   -lcurl -lz -lssl -lcrypto -ljansson -lpthread  -lz 
/usr/bin/ld: warning: libssl.so.1.0.2, needed by /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libcurl.so, may conflict with libssl.so.1.1
make[2]: Leaving directory '/home/koji/cpuminer-multi'
make[1]: Leaving directory '/home/koji/cpuminer-multi'
$ ./cpuminer
** cpuminer-multi 1.3.3 by tpruvot@github **
BTC donation address: 1FhDPLPpw18X4srecguG3MxJYe4a1JsZnd (tpruvot)

[2017-12-30 18:04:10] Starting Stratum on stratum+tcp://yiimp.ccminer.org:4252
[1]    28534 segmentation fault  ./cpuminer

gdbあたりを使うと不足しているパッケージわかるかもしれませんが調べるよりさっさとdocker使ったほうがよさそう。