www.arunyastyle.com

雰囲気で仮想通貨買って人生アーリーリタイアしたいゲームオタク。

CPU affinityオプションを使ってBitZenyマイニングを最適化する

こんにちは、先日BitZeny2.0が無事リリースされたのでマイナーも新しくしてついでにPCに最適化しちゃいましょう。
新しく追加されたCPU affinityオプションについても触れます。

新しいBitZenyマイナーを手に入れる

下記のリンクから新しいBitZenyマイナーを入手可能です。
Releases · macchky/cpuminer · GitHub

ちなみに、私の環境ではこのマイナーはアンチウイルスソフトで検知されました。
仮想通貨マイニングソフトウェアとして検知されているので、除外設定を実施してダウンロードしましょう。

ダウンロードしたファイルを解答する

ダウンロードしたファイルを解凍して今まで使っていたマイナーと同じフォルダにコピーします。
上書き確認をされると思いますので上書きを実行します。
f:id:AruNya:20180129134408p:plain
こんな感じのフォルダ構成になったらOK

次にバッチファイル(マイニングを開始するときに立ち上げるファイル)の内容を新Minerの名前に書き換えます。
書き換えはバッチファイルを右クリックし、「編集」を左クリックすることで行うことができます。
f:id:AruNya:20180129135248p:plain
書き換え内容は、最初の「minerd」を「minerd260」に変更することだけです。

書き換え前サンプル

minerd -a yescrypt -o stratum+tcp://nomp1.arunyastyle.com:46491 -u Zm8PJqsokiWcCmB3JMTZ8uKusZN2X11DDA

書き換え後サンプル

minerd260 -a yescrypt -o stratum+tcp://nomp1.arunyastyle.com:46491 -u Zm8PJqsokiWcCmB3JMTZ8uKusZN2X11DDA

CPU affinityを使う前に

新しいマイナーではCPU affinityというオプションが増え、マイニングを効率化することができます。
その前に、CPU affinityと-tオプションについて説明します。

CPU affinityとは

"CPU"の中に存在する複数の"コア"のうち、どれをマイナーを動かすために使用するか設定するオプション。

従来からあった-tオプションとの違い。

-tオプションで指定することのできる"スレッド"とは並列処理の数です。CPUを選ぶときによく聞く"スレッド数" "コア数"と1:1に結びつくものではありません。 よって、-tオプションで例え小さい値を指定しても、パソコンがよしなに複数のCPUのスレッドに処理を割り振ってしまうため、CPU使用率は常に100%に近くなってしまいます。

CPU affinityオプションに期待できる効果

CPU Affinityオプションを使う事によって、全く使わない領域を作ることが可能です。
これにより、マイナーを動かしているときにPC全体が重くなっているような方はそれが軽減するかもしれません。
また、CPU全体の使用率が下がるため、発熱も抑えることができます。
場合によっては発熱が少なったことで処理効率が上がり、消費電力は下がるがハッシュレートは低下しない、などの結果につながる可能性があります。

実際にCPU affinityを使用する。

実際にCPU affinityを使用する方法を紹介します。

CPUのスレッド数を確認する

PCの画面左下のWindowsボタン(f:id:AruNya:20180129140529p:plain)をクリックし、「タスクマネージャ」と入力します。
タスクマネージャへのリンクが表示されるので、赤枠部分を左クリックしてタスクマネージャを起動します。
f:id:AruNya:20180129140829p:plain

すると小難しい画面が出てくるので、赤枠部分「パフォーマンス」のタブを左クリックします。
f:id:AruNya:20180129141119p:plain

切り替わった画面の赤枠部分に幾つかグラフが表示されていると思います。
これが自分の使っているPCの"スレッド数"です。
f:id:AruNya:20180129141308p:plain

私のPCでは20個表示されているので、CPUのスレッド数は「20」となります。
この値は重要なので記録しておいてください。

使用するCPUのスレッドを決める

自分のCPUのスレッド数が分かったら、その中殻使用するCPUのスレッドを決めます。
まずは「半分のCPUのスレッドを使う」設定を書くことにします。

CPU affinity オプションを使うための数字をツールで計算する

CPU affinity オプションには数字を使ってどのCPUのスレッドを使用するかしていする必要がありますので、その数字を作ります。
数字を書いていくので、メモ帳を起動してください。

CPUのスレッド数分の「0」を書く

メモ帳に先程確認したCPUのスレッド数分の「0」を書きます。
私のCPUは20スレッドなので、20個の「0」を書きます。

00000000000000000000

この「0」ひとつひとつがお使いのCPUのスレッドを表しています。
ただし、「0」というのは「無効」を表す数字なので、このままではマイナーは動作しません。
よって、この「0」のなかから半分を「有効」に変更してあげる必要があります。
「有効」を意味する数字は「1」です。有効にしたいCPUのスレッドを1に書き換えてあげます。

10101010101010101010

これでCPUのスレッドのうち半分を使用する命令がかけました。 あとで使うのでこのメモ帳は起動したままにしておいてください。

オプションの値を変換する。

前項で作った「1010...」は2進数と呼ばれる値です。マイナーに設定値として渡すときには10進数で指定する必要がありますので、変換をかけます。
変換にはこのサイトを使います。

2進数、8進数、10進数、16進数相互変換ツール

「2進数」の部分に先程メモ帳で作った「0101...」の数列をコピーして、「2進数」の行の「変換」ボタンを左クリックします。
うまく変換ができると、「10進数」や「16進数」の部分にも数列が表示されると思います。
f:id:AruNya:20180129143202p:plain

「10進数」の数列を後ほど使います。

バッチファイルを編集する

先程マイナーの更新で書き換えたバッチファイルを再度編集します。
変更点は「-a yescrypt 」の後ろに「--cpu-affinity 699050」を追記した点です。
699050は私の環境での値なので各自変換サイトで取得した「10進数」の値に書き換えてください。

minerd260 -a yescrypt --cpu-affinity 699050 -o stratum+tcp://nomp1.arunyastyle.com:46491 -u Zm8PJqsokiWcCmB3JMTZ8uKusZN2X11DDA 

以上で作業は終了です。あとはいつもどおりマイナーを起動してマイニングを開始してください。

最後に

記事内で使用したマイニングプール「庶民プール」は現在利用者募集中です。
登録なしでお気軽利用できますので是非どうぞ。

庶民プール