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

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

GPU監視ツールを自作してみよう(その3)β版作成

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

 

 

ビットコインFXのチャートを予想しながら覗いていましたが難しいですね。

またしても、「上がる!」と思って買いに走ったら相場が1万ほど下がりました。

そして、そのまま損益(表示)が-2000円に・・・。

 

本日も残り30分切ったので今日の取引は諦めモード。

保有している建玉スワップポイントが発生しそうです。

損切りするよりは・・・と思っていたら本記事をUPする直前に相場が戻った!(1時間くらいかけて)

 

売却売却~♪

なんだかんだで損益が1,400円になりました。

元本が1万からなのでまぁまぁかな? 

 

 

 

さて、監視ツールがようやく形になりました。

といっても、WindowsPowerShell ISEで実行しただけですが。

実際にスクリプトとして動かすには権限変更とか必要なのでもう一息です。

 

以下、ソース。

# 変数宣言
$script:gpuCount=[int]8 #GPU枚数(刺してる総数)
$script:gpuClockBorder=[int]1000 #GPUClockの境界値(左未満は仕事してないとみなす)
$script:isErr=$false

$script:interval_nomal = 60 #1分間隔で監視
$script:interval_worning = 1 #動いていない場合は監視の間隔を変更
$script:worning_count=0

# miner関係
$script:miner = 'NiceHash Miner 2'
$script:miner_dir = "<マイニングツールを配置しているパス>"
$script:miner_exe = "NiceHash Miner 2.exe"

#---------------------------------------------------
# Function定義
#---------------------------------------------------
# マイニングアプリの起動
function ChkApl {
Get-Process -name $miner
if (!$?) {
# フォルダ移動
Set-Location -Path $miner_dir
# miner起動
Start-Process -FilePath $miner_exe

# 起動後は1分待つ
Start-Sleep -s 60
}
}


# CPU数の確認
function ChkGpuCount {
$private:ret = $true
$private:listData=.\nvidia-smi.exe --query-gpu=count --format=csv,noheader
foreach($rowData in $listData) {
$getCount=[int]$rowData
#稼働中のGPU数確認
if (-not($gpuCount -eq $getCount)) {
#GPUを全て認識していない場合、エラー
$ret = $false
}
# 1行目確認したら終了
break
}
return $ret
}

# GPU Clockの確認
function ChkGpuClock {
$private:ret = $true
$private:count = [int]0
$private:listData=.\nvidia-smi.exe --query-gpu=clocks.gr --format=csv,noheader

$isWorning = $false

foreach($rowData in $listData) {
$private:count = $count + 1

# クロック数が設定以下ならエラー
$rowData = $rowdata.Replace("MHz","").trim()
$gpuClock = [int]$rowData
if ($gpuClock -lt $gpuClockBorder) {
Write-Host $gpuClock
$ret = $false
}
}

# GPU枚数の確認
if (!($count -eq $gpuCount)) {
$ret = $false
}
return $ret
}

# ログ出力用
function OutGpuLog {
.\nvidia-smi.exe --query-gpu=timestamp,count,gpu_uuid,clocks.gr,utilization.gpu --format=csv
}

#---------------------------------------------------
# Main処理
#---------------------------------------------------
# コンソールのエラー表示:OFF
$ErrorActionPreference = "silentlycontinue"

# miner起動確認
ChkApl

# ディレクトリ移動
Set-Location -Path 'C:\Program Files\NVIDIA Corporation\NVSMI'

while($true) {
$isErr = -not (ChkGpuCount)
if ($isErr) {
# ループ終了
break
}

$msg='Nomal'
$interval = $interval_nomal

if (ChkGpuClock) {
$worning_count = 0
} else {
$interval = $interval_worning
$msg='Worning!'
$worning_count ++
}

# GPU稼働率の低い状態が続いた場合(とりあえず1分)
if ($worning_count -ge 60) {
break
}

#表示データのリセット
cls

Write-Host $msg
Write-Host ''

#GPUデータ
.\nvidia-smi.exe --query-gpu=index,clocks.gr,utilization.gpu --format=csv

Start-Sleep -s $interval


}

# コンソールのエラー表示:ON
$ErrorActionPreference = "continue"

# 再起動
Restart-Computer

 

貼り付けたらタブが吹っ飛んだ!

めんどくさいからこのまま。

 

 

使用しているお財布・取引所はこちら

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

 

 

利用しているWallet

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