papampi
Full Member
Offline
Activity: 686
Merit: 140
Linux FOREVER! Resistance is futile!!!
|
|
November 16, 2017, 03:24:37 PM |
|
Why do we even need to check the second connection as long as our main connection to the pool is working? Even if the miner is mining dev fee on another pool the utilization will be up and watchdog will not restart the miner
The problem is that when the ZM miner can't hit the dev pool, it stops mining, the GPU utilization goes to zero, and watchdog starts restarting the miner and the host. Further, folks running on USB can have total failures as a result of all of the reboots. Isnt it fixed in latest version as you said? Either way we can add a statement to check if zm_or_ewbf=zm then check that other server too
|
|
|
|
|
|
|
In order to get the maximum amount of activity points possible, you just need to post once per day on average. Skipping days is OK as long as you maintain the average.
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
papampi
Full Member
Offline
Activity: 686
Merit: 140
Linux FOREVER! Resistance is futile!!!
|
|
November 16, 2017, 03:26:09 PM |
|
Thanks a lot mate, I think your approach is much better than stubo which is based on guessing which one is the server I am thinking that the first IP/port is for the miner's DEV share and I am certain that the second is our connection to the mining pool (us-east.equihash-hub.miningpoolhub.com) since the destination port (20570) matches what I have configured in 1bash. So, assuming all of this is correct, we can then just use the same check to make sure that we can connect to both pools: But both needs a stable mining process to be running, and when pool has problem we dont have it So I cant understand when we have all the details in 1bash why we dont strip it from there with some simple commands. You see any problems in my approach here : # Begin papampi Mod
source /home/m1/1bash
CURRENT_COIN=$(head -n 200 /home/m1/1bash | grep COIN= | sed 's/COIN=//' | sed 's/\"//' | sed 's/\"//') #echo "$CURRENT_COIN"
CURRENT_COIN_POOL=$(echo {$CURRENT_COIN}_POOL |sed 's/{//' | sed 's/}//' ) #echo $CURRENT_COIN_POOL
POOL_SERVER=$(cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//') #echo "$POOL_SERVER"
CURRENT_COIN_PORT=$(echo {$CURRENT_COIN}_PORT | sed 's/{//' | sed 's/}//') #echo "$CURRENT_COIN_PORT"
if [[ $POOL_SERVER == *stratum* ]] then #echo "stratum" PING_SERVER=$( cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//' | sed 's/stratum+tcp\?:\/\///' | cut -d':' -f1 ) #echo "Server: $PING_SERVER" PING_PORT=$(cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//' | sed 's/stratum+tcp\?:\/\///' | grep -Eo '[0-9]+$' ) #echo "Port: $PING_PORT"
if nc -vzw2 $PING_SERVER $PING_PORT; then # echo "Strartum Server, INTERNET_IS_GO=1" INTERNET_IS_GO=1 else echo "WARNING: $(date) - Mining Pool Stratum Server is DOWN" | tee -a ${LOG_FILE} ${ALERT_LOG_FILE} INTERNET_IS_GO=0 fi elif [[ $CURRENT_COIN == *DUAL* || $CURRENT_COIN == *ZPOOL_SKUNK* || $CURRENT_COIN == *SALFTER* ]] then #echo "Dual mining, check google" if nc -vzw2 google.com 443 then # echo "Dual mining, google is up" #echo " INTERNET_IS_GO=1" INTERNET_IS_GO=1 else #echo "Dual mining, google is down" echo "WARNING: $(date) - Cant reach google" | tee -a ${LOG_FILE} ${ALERT_LOG_FILE} INTERNET_IS_GO=0 fi else PING_SERVER=$( cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//') #echo "Server: $PING_SERVER" PING_PORT=$(cat /home/m1/1bash | grep $CURRENT_COIN_PORT | grep -o '".*"' | sed 's/"//' |sed 's/"//') #echo "Port: $PING_PORT" if nc -vzw1 $PING_SERVER $PING_PORT then #echo "Not a stratum server,INTERNET_IS_GO=1" | tee -a ${LOG_FILE} INTERNET_IS_GO=1 else echo "WARNING: $(date) - Mining Pool Server is DOWN" | tee -a ${LOG_FILE} ${ALERT_LOG_FILE} INTERNET_IS_GO=0 fi fi
# End papampi Mod
IMO best way to test pool connectivity is having pool and port in vars from 1bash or whatever (as you pointed out). I did not know those already exist. Your idea looks good to me, guess just need a exhaustive testing. I'm with you, Dont see why going through all the problem to get them from else where when all available in 1bash When pool is down there is no connectivity to get pool and port from and there may be no miner up to get them from running miner as well When we can get them with some simple cat | grep | sed ... why go through all the complexity? Isnt our goal is to make nvoc as simple as possible? Dont understand @Papampi, I think the 3 ways are ok as long as code prevents the pitfalls that come along with it. They are not mutually exclusive, as I said all look good to me as long as well tested. Tottaly agree that it needs testing I tested with over 20 coins and that was where I found that zpool_skunk has different naming in 1bash and can not get its pool and server with same approach so for now put it in the google ping part I will do more testing for sure and expect you experts do the same as well, will try to get dual mining pools from 1bash and fix them as well. Sorry I don't have a 19+ installed and that is why I can't do exhaustive testing with different miners. I can not even try your WTM switch which I really want to do. Any other thing I can help just let me know, but be aware I don't think I'll be very much around next week. Thanks a lot for all the helps mate I think its time to update to 19+ after next week ... lol
|
|
|
|
papampi
Full Member
Offline
Activity: 686
Merit: 140
Linux FOREVER! Resistance is futile!!!
|
|
November 16, 2017, 03:28:28 PM Last edit: November 16, 2017, 04:27:00 PM by papampi |
|
This is my latest approach to get server and port from 1bash for wdog check Please check, test and let me know if there is any codes that can be simplified or corrected. Tested many coins but not all, Claymore dual Mining included to check main server ZM dual server check not included but can be done easily if not fixed from dstm. So many echo included for testing, will be removed later #!/bin/bash source /home/m1/1bash
CURRENT_COIN=$(head -n 200 /home/m1/1bash | grep COIN= | sed 's/COIN=//' | sed 's/\"//' | sed 's/\"//') #echo "$CURRENT_COIN"
CURRENT_COIN_POOL=$(echo {$CURRENT_COIN}_POOL |sed 's/{//' | sed 's/}//' ) #echo $CURRENT_COIN_POOL
POOL_SERVER=$(cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//') #echo "$POOL_SERVER"
CURRENT_COIN_PORT=$(echo {$CURRENT_COIN}_PORT | sed 's/{//' | sed 's/}//') #echo "$CURRENT_COIN_PORT"
if [[ $POOL_SERVER == *stratum* || $COIN == "ETH" || $COIN == "ETC" || $COIN == "EXP" || $COIN == "UBQ" || $COIN == "MUSIC" || $COIN == "SOIL" ]] then #echo "stratum/ethash" PING_SERVER=$( cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//' | sed 's/stratum+tcp\?:\/\///' | cut -d':' -f1 ) #echo "Server: $PING_SERVER" PING_PORT=$(cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//' | sed 's/stratum+tcp\?:\/\///' | grep -Eo '[0-9]+$' ) #echo "Port: $PING_PORT"
if nc -vzw2 $PING_SERVER $PING_PORT; then #echo "Strartum Server, INTERNET_IS_GO=1" INTERNET_IS_GO=1 else echo "WARNING: $(date) - Mining Pool Stratum Server is DOWN" | tee -a ${LOG_FILE} ${ALERT_LOG_FILE} INTERNET_IS_GO=0 fi
elif [[ $CURRENT_COIN == *ZPOOL_SKUNK* || $CURRENT_COIN == *SALFTER* ]] then #echo "Cant get pool, check google" if nc -vzw2 google.com 443 then #echo "Cant get pool, google is up" INTERNET_IS_GO=1 else echo "WARNING: $(date) - Cant reach google" | tee -a ${LOG_FILE} ${ALERT_LOG_FILE} INTERNET_IS_GO=0 fi
elif [[ $CURRENT_COIN == *DUAL* ]] then CURRENT_COIN=$( head -n 200 /home/m1/1bash | grep COIN= | sed 's/COIN=//' | sed 's/\"//' | sed 's/\"//' | sed 's/DUAL_//' | cut -d _ -f 1) #echo "$CURRENT_COIN"
CURRENT_COIN_POOL=$(echo {$CURRENT_COIN}_POOL |sed 's/{//' | sed 's/}//' ) #echo $CURRENT_COIN_POOL
POOL_SERVER=$(cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//') #echo "$POOL_SERVER"
CURRENT_COIN_PORT=$(echo {$CURRENT_COIN}_PORT | sed 's/{//' | sed 's/}//') #echo "$CURRENT_COIN_PORT"
PING_SERVER=$( cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//' | sed 's/stratum+tcp\?:\/\///' | cut -d':' -f1 ) #echo "Server: $PING_SERVER"
PING_PORT=$(cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//' | sed 's/stratum+tcp\?:\/\///' | grep -Eo '[0-9]+$' ) #echo "Port: $PING_PORT"
#echo "Dual mining, check main server $PING_SERVER " if nc -vzw2 $PING_SERVER $PING_PORT;
then #echo "Dual mining, main server $PING_SERVER is up" INTERNET_IS_GO=1 else echo "WARNING: $(date) - Cant reach main server $PING_SERVER " | tee -a ${LOG_FILE} ${ALERT_LOG_FILE} INTERNET_IS_GO=0 fi
else
PING_SERVER=$( cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//') #echo "Server: $PING_SERVER" PING_PORT=$(cat /home/m1/1bash | grep $CURRENT_COIN_PORT | grep -o '".*"' | sed 's/"//' |sed 's/"//') #echo "Port: $PING_PORT" if nc -vzw1 $PING_SERVER $PING_PORT then #echo "Not a stratum server,INTERNET_IS_GO=1" # | tee -a ${LOG_FILE} INTERNET_IS_GO=1 else echo "WARNING: $(date) - Mining Pool Server $PING_SERVER is DOWN" | tee -a ${LOG_FILE} ${ALERT_LOG_FILE} INTERNET_IS_GO=0 fi
fi
Edit: All this can be much simpler if all coin addresses become same in 1bash Example: new 1bash ZCOIN_WORKER="$WORKERNAME" ZCOIN_ADDRESS="papampi" ZCOIN_POOL="xzc.suprnova.cc" ZCOIN_PORT=1569
current 1bash: ZCOIN_WORKER="$WORKERNAME" ZCOIN_ADDRESS="papampi" ZCOIN_POOL="stratum+tcp://xzc.suprnova.cc:1569"
new 3main: if [ $COIN == "ZCOIN" ] then HCD='/home/m1/TPccminer/ccminer'
ADDR="$ZCOIN_ADDRESS.$ZCOIN_WORKER"
screen -dmSL miner $HCD -a lyra2z -o stratum+tcp://$ZCOIN_POOL:ZCOIN_PORT -u $ADDR -p x current 3main: screen -dmSL miner $HCD -a lyra2z -o $ZCOIN_POOL -u $ADDR -p x
|
|
|
|
leenoox
|
|
November 16, 2017, 04:17:27 PM |
|
Why do we even need to check the second connection as long as our main connection to the pool is working? Even if the miner is mining dev fee on another pool the utilization will be up and watchdog will not restart the miner
The problem is that when the ZM miner can't hit the dev pool, it stops mining, the GPU utilization goes to zero, and watchdog starts restarting the miner and the host. Further, folks running on USB can have total failures as a result of all of the reboots. That's a completely different issue that needs to be looked at and come with a solution for ZM. If ZM can't hit the dev pool and stops mining because of that, there's not much we can do about it, we can't switch the dev's pool... the only solution would be if ZM is detected as miner and pool is up but utilization is zero (asuming dev's pool is down) to switch to another miner.
|
|
|
|
damNmad
Full Member
Offline
Activity: 378
Merit: 104
nvOC forever
|
|
November 16, 2017, 08:55:27 PM |
|
This is my latest approach to get server and port from 1bash for wdog check Please check, test and let me know if there is any codes that can be simplified or corrected. Tested many coins but not all, Claymore dual Mining included to check main server ZM dual server check not included but can be done easily if not fixed from dstm. So many echo included for testing, will be removed later #!/bin/bash source /home/m1/1bash
CURRENT_COIN=$(head -n 200 /home/m1/1bash | grep COIN= | sed 's/COIN=//' | sed 's/\"//' | sed 's/\"//') #echo "$CURRENT_COIN"
CURRENT_COIN_POOL=$(echo {$CURRENT_COIN}_POOL |sed 's/{//' | sed 's/}//' ) #echo $CURRENT_COIN_POOL
POOL_SERVER=$(cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//') #echo "$POOL_SERVER"
CURRENT_COIN_PORT=$(echo {$CURRENT_COIN}_PORT | sed 's/{//' | sed 's/}//') #echo "$CURRENT_COIN_PORT"
if [[ $POOL_SERVER == *stratum* || $COIN == "ETH" || $COIN == "ETC" || $COIN == "EXP" || $COIN == "UBQ" || $COIN == "MUSIC" || $COIN == "SOIL" ]] then #echo "stratum/ethash" PING_SERVER=$( cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//' | sed 's/stratum+tcp\?:\/\///' | cut -d':' -f1 ) #echo "Server: $PING_SERVER" PING_PORT=$(cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//' | sed 's/stratum+tcp\?:\/\///' | grep -Eo '[0-9]+$' ) #echo "Port: $PING_PORT"
if nc -vzw2 $PING_SERVER $PING_PORT; then #echo "Strartum Server, INTERNET_IS_GO=1" INTERNET_IS_GO=1 else echo "WARNING: $(date) - Mining Pool Stratum Server is DOWN" | tee -a ${LOG_FILE} ${ALERT_LOG_FILE} INTERNET_IS_GO=0 fi
elif [[ $CURRENT_COIN == *ZPOOL_SKUNK* || $CURRENT_COIN == *SALFTER* ]] then #echo "Cant get pool, check google" if nc -vzw2 google.com 443 then #echo "Cant get pool, google is up" INTERNET_IS_GO=1 else echo "WARNING: $(date) - Cant reach google" | tee -a ${LOG_FILE} ${ALERT_LOG_FILE} INTERNET_IS_GO=0 fi
elif [[ $CURRENT_COIN == *DUAL* ]] then CURRENT_COIN=$( head -n 200 /home/m1/1bash | grep COIN= | sed 's/COIN=//' | sed 's/\"//' | sed 's/\"//' | sed 's/DUAL_//' | cut -d _ -f 1) #echo "$CURRENT_COIN"
CURRENT_COIN_POOL=$(echo {$CURRENT_COIN}_POOL |sed 's/{//' | sed 's/}//' ) #echo $CURRENT_COIN_POOL
POOL_SERVER=$(cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//') #echo "$POOL_SERVER"
CURRENT_COIN_PORT=$(echo {$CURRENT_COIN}_PORT | sed 's/{//' | sed 's/}//') #echo "$CURRENT_COIN_PORT"
PING_SERVER=$( cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//' | sed 's/stratum+tcp\?:\/\///' | cut -d':' -f1 ) #echo "Server: $PING_SERVER"
PING_PORT=$(cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//' | sed 's/stratum+tcp\?:\/\///' | grep -Eo '[0-9]+$' ) #echo "Port: $PING_PORT"
#echo "Dual mining, check main server $PING_SERVER " if nc -vzw2 $PING_SERVER $PING_PORT;
then #echo "Dual mining, main server $PING_SERVER is up" INTERNET_IS_GO=1 else echo "WARNING: $(date) - Cant reach main server $PING_SERVER " | tee -a ${LOG_FILE} ${ALERT_LOG_FILE} INTERNET_IS_GO=0 fi
else
PING_SERVER=$( cat /home/m1/1bash | grep $CURRENT_COIN_POOL | grep -o '".*"' | sed 's/"//'| sed 's/"//') #echo "Server: $PING_SERVER" PING_PORT=$(cat /home/m1/1bash | grep $CURRENT_COIN_PORT | grep -o '".*"' | sed 's/"//' |sed 's/"//') #echo "Port: $PING_PORT" if nc -vzw1 $PING_SERVER $PING_PORT then #echo "Not a stratum server,INTERNET_IS_GO=1" # | tee -a ${LOG_FILE} INTERNET_IS_GO=1 else echo "WARNING: $(date) - Mining Pool Server $PING_SERVER is DOWN" | tee -a ${LOG_FILE} ${ALERT_LOG_FILE} INTERNET_IS_GO=0 fi
fi
Edit: All this can be much simpler if all coin addresses become same in 1bash Example: new 1bash ZCOIN_WORKER="$WORKERNAME" ZCOIN_ADDRESS="papampi" ZCOIN_POOL="xzc.suprnova.cc" ZCOIN_PORT=1569
current 1bash: ZCOIN_WORKER="$WORKERNAME" ZCOIN_ADDRESS="papampi" ZCOIN_POOL="stratum+tcp://xzc.suprnova.cc:1569"
new 3main: if [ $COIN == "ZCOIN" ] then HCD='/home/m1/TPccminer/ccminer'
ADDR="$ZCOIN_ADDRESS.$ZCOIN_WORKER"
screen -dmSL miner $HCD -a lyra2z -o stratum+tcp://$ZCOIN_POOL:ZCOIN_PORT -u $ADDR -p x current 3main: screen -dmSL miner $HCD -a lyra2z -o $ZCOIN_POOL -u $ADDR -p x
Everything looks fine mate, I would like to add a case where zm/ewbf/ethminer doesn't like stratum addresses, it complicate if people want to change pool address (not all users, only new/some users!!) But, would like to see/work towards everything get revamped and make it more efficient. We should try to make it more dynamic, so that we don't get swamped up with users facing issues. Really appreciate the work by our mighty @fullzero, @papampi, @kkoo3, @Stubo & @leenoox valuable out of box guidance, kudos
|
|
|
|
wi$em@n
Newbie
Offline
Activity: 46
Merit: 0
|
|
November 17, 2017, 02:50:27 AM |
|
Can't find info, what is the pass for root? "miner1" doesn't work
I think root login is disabled. You should set its password when logged in with m1 This will do the job: OK. Thanks. Should be on the first page
|
|
|
|
infowire
Newbie
Offline
Activity: 96
Merit: 0
|
|
November 17, 2017, 04:13:32 AM |
|
i got 12 gtx 1070 EVGA SC2, all my cards have ETH 31MHs but the last one has 26MHs... what could it be ? I used same setting for all. This card did 30 on windows...
|
|
|
|
wi$em@n
Newbie
Offline
Activity: 46
Merit: 0
|
|
November 17, 2017, 04:48:11 AM |
|
anybody mining BTG have you found a way to exchange it to Bitcoin at not extortionate rate?
|
|
|
|
codereddew12
Newbie
Offline
Activity: 36
Merit: 0
|
|
November 17, 2017, 05:18:46 AM |
|
i got 12 gtx 1070 EVGA SC2, all my cards have ETH 31MHs but the last one has 26MHs... what could it be ? I used same setting for all. This card did 30 on windows...
What brand of 1070? Also what's the powerlimit for that card?
|
|
|
|
fk1
|
|
November 17, 2017, 10:22:10 AM |
|
Unfortuantely I got no reply in the rxoc thread so i try once more here: is it possible to use salfter nicehash script or wtm profit switcher with rxoc/amd cards?
|
|
|
|
papampi
Full Member
Offline
Activity: 686
Merit: 140
Linux FOREVER! Resistance is futile!!!
|
|
November 17, 2017, 10:44:32 AM |
|
Unfortuantely I got no reply in the rxoc thread so i try once more here: is it possible to use salfter nicehash script or wtm profit switcher with rxoc/amd cards?
It should, if they use same echo system If not upload 3main, 1bash and Iamnotajeep from rxoc to google drive and send me the links, I will check and try to do a wtm auto switch for rxoc
|
|
|
|
WaveFront
Member
Offline
Activity: 126
Merit: 10
|
|
November 17, 2017, 03:24:17 PM |
|
anybody mining BTG have you found a way to exchange it to Bitcoin at not extortionate rate?
There is hitbtc.com, but I guess this is not the best moment for exchanging BTG in BTC. BTC rate is increasing very rapidly.
|
|
|
|
Stubo
Member
Offline
Activity: 224
Merit: 13
|
|
November 17, 2017, 04:19:55 PM |
|
For those who has log size problem I wrote some thing until we think of a new way either named pipe, tmpfs, ramfs or ... 3main after : if [ $CLEAR_LOGS_ON_BOOT == "YES" ] then sudo bash '/home/m1/clear_logs' fi ADD: if [ $LOG_ROTATE == "YES" ] then HCD='/home/m1/log_rotate' running=$(ps -ef | awk '$NF~"log_rotate" {print $2}') if [ "$running" == "" ] then guake -n $HCD -r LOG_ROTATE -e "bash /home/m1/log_rotate" running="" fi fi 1bash after : CLEAR_LOGS_ON_BOOT="NO" # YES NO
ADD: $LOG_ROTATE="YES" $LOG_ROTATE_INTERVAL=12 # Time between log rotations in hours And make a new file #!/bin/bash source /home/m1/1bash
while true do TIMEIN=$LOG_ROTATE_INTERVAL TIMEOUT=$(($TIMEIN * 3600)) # Rotating wdog logs WDOG_LOG_FILE="/home/m1/5_restartlog" if [ -e "$WDOG_LOG_FILE" ] ; then #Limit the logfile, just keep the last 2k echo "$( cat $WDOG_LOG_FILE | tail -n 2k)" > $WDOG_LOG_FILE fi # Rotating wdog alerts log WDOG_ALERT_LOG_FILE="/home/m1/7_wdog_alertlog" if [ -e "$WDOG_ALERT_LOG_FILE" ] ; then #Limit the logfile, just keep the last 2k echo "$( cat $WDOG_ALERT_LOG_FILE | tail -n 2k)" > $WDOG_ALERT_LOG_FILE fi # Rotating temp logs TEMP_LOG_FILE="/home/m1/6_autotemplog" if [ -e "$TEMP_LOG_FILE" ] ; then #Limit the logfile, just keep the last 2k echo "$( cat $TEMP_LOG_FILE | tail -n 2k)" > $TEMP_LOG_FILE fi # Rotating temp alerts TEMP_ALERT_LOG_FILE="/home/m1/7_temp_alertlog" if [ -e "$TEMP_ALERT_LOG_FILE" ] ; then #Limit the logfile, just keep the last 2k echo "$( cat $TEMP_ALERT_LOG_FILE | tail -n 2k)" > $TEMP_ALERT_LOG_FILE fi # Rotating miner screenlog MINER_LOG_FILE="/home/m1/screenlog.0" if [ -e "$MINER_LOG_FILE" ] ; then #Limit the logfile, just keep the last 2k echo "$( cat $MINER_LOG_FILE | tail -n 2k)" > $MINER_LOG_FILE fi echo "Rotate again in $TIMEIN Hours" sleep $TIMEOUT done
Hope it helps you for now. Here is another way of thinking that may help too. I started looking at what was in these logs and just how useful it was. I found a couple of things that I changed because I consider it unnecessary. 1) In IAmNotAJeep_and_Maxximus007_WATCHDOG on line 52 we have: echo " GPU_COUNT: " $GPU_COUNT | tee -a ${LOG_FILE}
and on line 58: echo "GPU UTILIZATION: " $UTILIZATIONS | tee -a ${LOG_FILE}
Both of these are inside the while loop so they are written to 5_restartlog every 10 seconds. There is plenty of logging elsewhere in the script in the event of problem so I see no need for these and removed them. 2) In 3main, for the case where LOCALorREMOTE=REMOTE, I see that both IAmNotAJeep_and_Maxximus007_WATCHDOG and Maxximus007_AUTO_TEMPERATURE_CONTROL are launched with screen -dmSL (L is for logging to screenlog) on line 330 and 331 respectively. Both of these scripts have their own dedicated logs (7_wdog_alertlog and 6_autotemplog) so this logging is redundant. Removing the "L" from the screen commands for those will reduce log sizes as well. In addition, for those with REMOTE, it will clean up screenlog.0 so that only the miner is logged there. This should make it easier to find and diagnose miner problems. Hope this helps.
|
|
|
|
leenoox
|
|
November 17, 2017, 06:17:05 PM |
|
For those who has log size problem I wrote some thing until we think of a new way either named pipe, tmpfs, ramfs or ... 3main after : if [ $CLEAR_LOGS_ON_BOOT == "YES" ] then sudo bash '/home/m1/clear_logs' fi ADD: if [ $LOG_ROTATE == "YES" ] then HCD='/home/m1/log_rotate' running=$(ps -ef | awk '$NF~"log_rotate" {print $2}') if [ "$running" == "" ] then guake -n $HCD -r LOG_ROTATE -e "bash /home/m1/log_rotate" running="" fi fi 1bash after : CLEAR_LOGS_ON_BOOT="NO" # YES NO
ADD: $LOG_ROTATE="YES" $LOG_ROTATE_INTERVAL=12 # Time between log rotations in hours And make a new file #!/bin/bash source /home/m1/1bash
while true do TIMEIN=$LOG_ROTATE_INTERVAL TIMEOUT=$(($TIMEIN * 3600)) # Rotating wdog logs WDOG_LOG_FILE="/home/m1/5_restartlog" if [ -e "$WDOG_LOG_FILE" ] ; then #Limit the logfile, just keep the last 2k echo "$( cat $WDOG_LOG_FILE | tail -n 2k)" > $WDOG_LOG_FILE fi # Rotating wdog alerts log WDOG_ALERT_LOG_FILE="/home/m1/7_wdog_alertlog" if [ -e "$WDOG_ALERT_LOG_FILE" ] ; then #Limit the logfile, just keep the last 2k echo "$( cat $WDOG_ALERT_LOG_FILE | tail -n 2k)" > $WDOG_ALERT_LOG_FILE fi # Rotating temp logs TEMP_LOG_FILE="/home/m1/6_autotemplog" if [ -e "$TEMP_LOG_FILE" ] ; then #Limit the logfile, just keep the last 2k echo "$( cat $TEMP_LOG_FILE | tail -n 2k)" > $TEMP_LOG_FILE fi # Rotating temp alerts TEMP_ALERT_LOG_FILE="/home/m1/7_temp_alertlog" if [ -e "$TEMP_ALERT_LOG_FILE" ] ; then #Limit the logfile, just keep the last 2k echo "$( cat $TEMP_ALERT_LOG_FILE | tail -n 2k)" > $TEMP_ALERT_LOG_FILE fi # Rotating miner screenlog MINER_LOG_FILE="/home/m1/screenlog.0" if [ -e "$MINER_LOG_FILE" ] ; then #Limit the logfile, just keep the last 2k echo "$( cat $MINER_LOG_FILE | tail -n 2k)" > $MINER_LOG_FILE fi echo "Rotate again in $TIMEIN Hours" sleep $TIMEOUT done
Hope it helps you for now. Here is another way of thinking that may help too. I started looking at what was in these logs and just how useful it was. I found a couple of things that I changed because I consider it unnecessary. 1) In IAmNotAJeep_and_Maxximus007_WATCHDOG on line 52 we have: echo " GPU_COUNT: " $GPU_COUNT | tee -a ${LOG_FILE}
and on line 58: echo "GPU UTILIZATION: " $UTILIZATIONS | tee -a ${LOG_FILE}
Both of these are inside the while loop so they are written to 5_restartlog every 10 seconds. There is plenty of logging elsewhere in the script in the event of problem so I see no need for these and removed them. 2) In 3main, for the case where LOCALorREMOTE=REMOTE, I see that both IAmNotAJeep_and_Maxximus007_WATCHDOG and Maxximus007_AUTO_TEMPERATURE_CONTROL are launched with screen -dmSL (L is for logging to screenlog) on line 330 and 331 respectively. Both of these scripts have their own dedicated logs (7_wdog_alertlog and 6_autotemplog) so this logging is redundant. Removing the "L" from the screen commands for those will reduce log sizes as well. In addition, for those with REMOTE, it will clean up screenlog.0 so that only the miner is logged there. This should make it easier to find and diagnose miner problems. Hope this helps. I believe they use $UTILIZATIONS and $GPU_COUNT to show it in telegram message. They need to fetch that info from the log or alternatively query it from within the telegram script itself. If we switch all logs to reside on the tmpfs it shouldn't be problem logging those if we rotate/flush the logs periodicaly. As for the logging from 3main, that should definetely be removed.
|
|
|
|
Stubo
Member
Offline
Activity: 224
Merit: 13
|
|
November 17, 2017, 06:58:06 PM |
|
I believe they use $UTILIZATIONS and $GPU_COUNT to show it in telegram message. They need to fetch that info from the log or alternatively query it from within the telegram script itself.
If we switch all logs to reside on the tmpfs it shouldn't be problem logging those if we rotate/flush the logs periodicaly.
As for the logging from 3main, that should definetely be removed.
I just checked on telegram (had not thought of that) and it looks to be doing mostly it's own gathering of data for telegrams of type bali and damNmad as opposed to log mining. However, there is a singular instance of tailing the 5_restartlog in papampi telegram to get GPU_UTILIZATION. That is an easy switch to use the same one liner as bali and damNmad use to get GPU_UTILIZATIONS.
|
|
|
|
papampi
Full Member
Offline
Activity: 686
Merit: 140
Linux FOREVER! Resistance is futile!!!
|
|
November 17, 2017, 08:05:22 PM Last edit: November 17, 2017, 09:41:23 PM by papampi |
|
I believe they use $UTILIZATIONS and $GPU_COUNT to show it in telegram message. They need to fetch that info from the log or alternatively query it from within the telegram script itself.
If we switch all logs to reside on the tmpfs it shouldn't be problem logging those if we rotate/flush the logs periodicaly.
As for the logging from 3main, that should definetely be removed.
I just checked on telegram (had not thought of that) and it looks to be doing mostly it's own gathering of data for telegrams of type bali and damNmad as opposed to log mining. However, there is a singular instance of tailing the 5_restartlog in papampi telegram to get GPU_UTILIZATION. That is an easy switch to use the same one liner as bali and damNmad use to get GPU_UTILIZATIONS. Will change it for next version for sure In the mean time any one wants can change it with this line : GPU_UTILIZATIONS=$(nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits | tr '\n' ' ')
|
|
|
|
Stubo
Member
Offline
Activity: 224
Merit: 13
|
|
November 17, 2017, 10:44:12 PM |
|
I believe they use $UTILIZATIONS and $GPU_COUNT to show it in telegram message. They need to fetch that info from the log or alternatively query it from within the telegram script itself.
If we switch all logs to reside on the tmpfs it shouldn't be problem logging those if we rotate/flush the logs periodicaly.
As for the logging from 3main, that should definetely be removed.
I just checked on telegram (had not thought of that) and it looks to be doing mostly it's own gathering of data for telegrams of type bali and damNmad as opposed to log mining. However, there is a singular instance of tailing the 5_restartlog in papampi telegram to get GPU_UTILIZATION. That is an easy switch to use the same one liner as bali and damNmad use to get GPU_UTILIZATIONS. Will change it for next version for sure In the mean time any one wants can change it with this line : GPU_UTILIZATIONS=$(nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits | tr '\n' ' ')
Excellent. The tweaks to the logging that I recommend (specifically the 3main ones as above) have already paid off for me. I was able to identify a possible OC problem with a GPU in one of my rigs by looking at a nice clean screenlog.0 file. Looking at it previously with the output from both the watchdog and temp control scripts was confusing as heck and I had been chasing that miner restart/hang problem for weeks.
|
|
|
|
helpme85
Newbie
Offline
Activity: 31
Merit: 0
|
|
November 18, 2017, 10:58:36 AM |
|
Please give me the original 3main file. Thank you.
|
|
|
|
papampi
Full Member
Offline
Activity: 686
Merit: 140
Linux FOREVER! Resistance is futile!!!
|
|
November 18, 2017, 01:05:35 PM Last edit: November 18, 2017, 02:07:41 PM by papampi |
|
Please give me the original 3main file. Thank you.
I think this has no edits https://www.dropbox.com/s/pubuucfzcoxnt7i/3main
|
|
|
|
infowire
Newbie
Offline
Activity: 96
Merit: 0
|
|
November 19, 2017, 12:57:50 AM |
|
i got 12 gtx 1070 EVGA SC2, all my cards have ETH 31MHs but the last one has 26MHs... what could it be ? I used same setting for all. This card did 30 on windows...
What brand of 1070? Also what's the powerlimit for that card? EVGA is the brand I set power 151 , mem 1400 and clock 100
|
|
|
|
|