前回の記事で早速コメントをいただきました!


こんにちは、近藤と申します!
最近拝見させていただいております。
私も、ZcashとMoneroを掘っており初期の頃に同じ悩みを抱えていました。
模索中に、cpu稼働率をコントロールする「cpulimit」コマンドを発見しました。
調べていただければ、詳しい使い方が出てきますので是非見てみてください。
すでにご承知であれば申し訳ありません。
近藤さんありがとうございます
いやー知りませんでした
(そんな感じかなって調べてもいまいちいい感じのものが出てこなかったです)
CPULimitとは?
プロセスIDや実行ファル名を指定してCPUの使用率を制限するというもの
コレだよ探してたの
インストール
yumコマンドでインストールできたけどバージョンは最新なのかな…
リポジトリはepelからでした
yum install cpulimit
とりま–helpオプションで起動して見る
[[email protected]]# cpulimit --help Usage: cpulimit [OPTIONS...] TARGET OPTIONS -l, --limit=N percentage of cpu allowed from 0 to 200 (required) -v, --verbose show control statistics -z, --lazy exit if there is no target process, or if it dies -i, --include-children limit also the children processes -h, --help display this help and exit TARGET must be exactly one of these: -p, --pid=N pid of the process (implies -z) -e, --exe=FILE name of the executable program file or path name COMMAND [ARGS] run this command and limit it (implies -z) Report bugs to <[email protected]>.
バージョン表記が一切ないんですが….
Githubには2つほどCPUlimitのリポジトリがあって
どちらも数年前から更新されてないし…
sourceforge.netから移動したからバージョンのナンバリングをしたとかあるが正確にはわかりませんっ


とりまコレで一応動いてくれたのでyumでインストールされたものを使ってみます
CPULimitでコントロール
コマンドオプション
-l
プログラムが使用できるCPUの割合を1コア100として指定(最大はコア*100)
例:2コアのCPUで-l 100とすると全体の50%
-p
プロセスIDを指定する
-e
ファイル名を指定する
例
プロセスID1234を2コアCPUで50%
cpulimit -p 1234 -l 100
ファイル名cpuminerを2コアCPUで50%
cpulimit -e cpuminer -l 100
1コアを100として考える必要があるので環境によって合わせないといけません
起動中のCPUMinerのCPU使用率を変更する
CPUMiner、CPULimitは起動したらログを垂れ流したり、終了を待って他のコマンドが打てなくなるのでscreenを使いました
また、CPUMiner、CPULimitそれぞれを起動して対応させるとプロセスIDでできないのでファイル名です
いちいちscreenを開くのも面倒になったのでスプリクトにしてみました
CpuminerAndCpulimitScript
CPUMinerAndCPULimitを起動するスクリプト
CPUMinerとCPULimitを導入したCentOS7でのみ確認しています
##各変数に対象のデータを入れてください
- CPUMinerのPATH
- CPUMinerの実行ファイル(CPUMinerPATHから)
- 使用するアルゴリズム
- Poolの指定URL(とポート)
- Poolユーザー名.ワーカー名(.に注意してください)
- ワーカーのパスワード
##ファイルのパーミッションを実行可能にしてくださいchmod 707 CPUMinerAndCPULimit.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
CPUMinerPATH='/home/user/cpuminer-multi/' | |
CPUMiner='cpuminer' | |
MinerAlgorithm='lyra2rev2' | |
MinerPoolURL='stratum+tcp://example.net:8888' | |
MinerUserANDWokerName='UserName.WokerName' | |
MienrWokerPass='WokerName' | |
CPULimit='100' | |
cd $CPUMinerPATH | |
screen -AmdS CPUMiner ./$CPUMiner -a $MinerAlgorithm -o $MinerPoolURL -u $MinerUserANDWokerName -p $MienrWokerPass | |
screen -AmdS CPULimit cpulimit -e $CPUMiner -l $CPULimit |
起動は
./CPUMinerAndCPULimit.sh
動作を確認するときは
CPUMiner
screen -r CPUMiner
CPULimit
screen -r CPULimit
でできます
結果
CPULimit使用前
約200%で全コアフル稼働です
CPULimit使用中
-l 100で指定
約100%で画像にはありませんが各コアでも半分ぐらいになりました
現在は150%ぐらいで稼働させています。
もちろんですが制限をかければかけるほど採掘効率は下がるのでサーバーを落とされない程度にしないとですが、VPSなので他の利用者のことも考えないとですね
参考:






コメント