マイニング&仮想通貨始めてみた

「GeForce GTX 1060 3GB」でマイニング中。せっかくなのでこれを期に少し書いてみる。

GPU監視ツールを自作してみよう(その1)

bitFlyer ビットコインを始めるなら安心・安全な取引所で

 

 

先日、予想外にも1時間半もリグが落ちていたので

監視ツールを自作してみることにした。

 

仕様

  1. GPU Clock」を取得。
  2. GPU Clock」の値が一定値以下の場合、フラグON
  3. 指定時間毎に監視
  4. フラグONが続く場合、再起動

 

一定間隔で監視するのはWindows標準のタスクスケジューラを使うとして

フラグはTMPフォルダにでもファイル作れば良い。

 

さて、どうやってGPU Clockの値を取得するか・・・

 

思いつく限りのワードをGoogle先生にぶつけてみた結果、発見!

nvidia-smi

 

Nvidiaのドライバを入れている場合、使えるらしい。

ウチのはGeForceなので問題なく使える。

 

Windows PowerShellを起動し、早速コマンドを叩いてみる。

※"C:\Program Files\NVIDIA Corporation\NVSMI"に移動するか絶対パスを指定してね!

 

 .\nvidia-smi.exe -i 0 -q -d CLOCK

-i  0 :GPUのUnit番号

-q :情報の取得

-d :情報の指定

意味としては、「GPU1枚目のCLOCKの情報を表示しろ」ってところ。

※実際に使う最は「-i」は指定しない。GPU8枚の情報がずらずら出るとスクショ撮りづらいし。

 

f:id:SVC2027:20171121231321p:plain

 

afterburnerが表示しているGPU Clockと値が近いので使えそう。

ちなみに、画像は無いがマイニングを停止すると300Mhzくらいまで下がる。

 

 

 

さて、ここからはプログラムのお勉強だ!

このままだと判定が難しいので取得情報を選別する。

 

"Graphics"って行を抜き取ればよさそうなので抽出条件を追加。

(.\nvidia-smi.exe -q -d CLOCK) | Where-Object{$_ -match "Graphics"}

f:id:SVC2027:20171121233527p:plain

 

 Clocks配下以外のGraphicsも取得しているけど、無効値:N/AかMax値なので無視できそう。

とりあえず、無効値:N/Aを除外

(.\nvidia-smi.exe -q -d CLOCK) | Where-Object{$_ -match "Graphics"} |Where-Object{$_ -notmatch "N/A"}

f:id:SVC2027:20171121234132p:plain

 

これで、

 GPU Clock 現在値

 CPU Clock MAX値

の繰り返しになっている。

 

あとは、GPU Clockの数値のみを取り出して

1000未満だったらフラグONってIF文書けばよさそう。

 

今日はここまで。

 

 

使用しているWalletはこちら

bitFlyer ビットコインを始めるなら安心・安全な取引所で

 

利用しているWallet

bitFlyer ビットコインを始めるなら安心・安全な取引所で