Bitcoin Forum
May 08, 2024, 12:37:33 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 [5] 6 7 »
81  Bitcoin / Mining / Re: Cacti template for AMD GPU monitoring on: March 07, 2012, 11:37:18 PM
It seems I have the graphing going after all! Will gather some data and report back! This is so great, JinTu! How about a bounty for cgminer stats implementation? Once I mine some BTC i will send you a donation!

Glad to hear you got it going, and looking forward to your sample graphs.

I'm certainly open to a bounty for implementing cgminer stats. It's been on my todo list ever since the 2.1.0 release supporting the JSON API, but it has been near impossible to find the time. A bounty would help goad me into actually doing it.
82  Bitcoin / Mining / Re: Cacti template for AMD GPU monitoring on: March 05, 2012, 07:18:23 AM
You sir, are my hero! Will donate in a couple of days after I've set up the system! This is going to be VERY useful.

Thanks mate,

Be sure to post some sample graphs when you get it up and running. 
83  Other / CPU/GPU Bitcoin mining hardware / Re: ~3GH/s in a 4U rackmount case. (30GH/s+ in a 45U server rack?) on: March 02, 2012, 05:39:10 PM
I have been contemplating water cooling for my 4RU 19" rack mounted miners as well. Noise is a big issue for me due to the WAF, so I have been looking at passive radiators like these. They take up a lot more room, but are totally silent. My current thought is to mount an array of these to the side of the 19" rack so it doesn't take up additional space.
84  Bitcoin / Mining / Re: Cacti template for AMD GPU monitoring on: February 29, 2012, 01:07:42 AM
Data from a non-working one. It shows "success, 0 items 0 rows". Won't show any cards when I go to add graphs.

Quote

Data Query Debug Information
+ Running data query [12].
+ Found type = '3' [snmp query].
+ Found data query XML file at '/usr/share/cacti/site/resource/snmp_queries/amd_gpu.xml'
+ XML file parsed ok.
+ Executing SNMP walk for list of indexes @ '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.103.112.117.105.100'
+ No SNMP data returned
+ Found data query XML file at '/usr/share/cacti/site/resource/snmp_queries/amd_gpu.xml'
+ Found data query XML file at '/usr/share/cacti/site/resource/snmp_queries/amd_gpu.xml'
+ Found data query XML file at '/usr/share/cacti/site/resource/snmp_queries/amd_gpu.xml

<snip>

I suspect the errors in the cacti.log are telling me, but I need a more verbose output...

Quote
02/20/2012 03:25:02 PM - CMDPHP: Poller[0] Host[2] DS[8] WARNING: Result from SNMP not valid.  Partial Result: U
02/20/2012 03:25:04 PM - CMDPHP: Poller[0] Host[8] DS[80] WARNING: Result from SNMP not valid.  Partial Result: U
02/20/2012 03:25:08 PM - CMDPHP: Poller[0] Host[9] DS[118] WARNING: Result from CMD not valid.  Partial Result: U
02/20/2012 03:25:08 PM - CMDPHP: Poller[0] Host[9] DS[119] WARNING: Result from CMD not valid.  Partial Result: U
02/20/2012 03:25:09 PM - CMDPHP: Poller[0] Host[9] DS[120] WARNING: Result from CMD not valid.  Partial Result: U
02/20/2012 03:25:09 PM - CMDPHP: Poller[0] Host[9] DS[120] WARNING: Result from CMD not valid.  Partial Result: U

I worked with dlasher via PM and we were able to resolve this for his setup (SNMP timeout). Please see the update to the first post (Troubleshooting) for additional details.
85  Bitcoin / Mining / Re: Monitoring AMD GPUs with SNMP in Linux on: February 27, 2012, 10:43:39 PM
dlasher i fixed mine the same way like you, but there is more nasty bug with DUAL GPU adapters. Fans there are -1.
So if you have 6 adapters with IDs 0 1 2 3 4 5 . 1 of them is DUAL GPU. Lets say last one.
0 1 2 3 4 are physical. ID 5 is the second GPU. ID 5 must be ignored for fan polling. For load, temp etc is fine.


I would love to see a dump of this (with gpu_snmp.pl fan) if you can provide it. Since my rig only has two dual GPUs, I don't really know what this would look like in a mixed system. My dual 6990's report back two fan set points per card even though there is really only one attached fan.

86  Bitcoin / Mining / Re: Monitoring AMD GPUs with SNMP in Linux on: February 27, 2012, 10:36:59 PM
Guessing it's this line in the script:

Quote
unless ($adapter_list =~ m/^.*\d+\.\s+\d{2}:\d{2}\.\d\s+.*/) {


Yep, you nailed it. The regex doesn't work with anything other than 0-9 at the moment. I'll post an updated version that should work with your setup as soon as I get a couple minutes free.

Thank you! You've created one of what I considered the missing pieces for miners with any decent GHash rate.. I've got a couple of miners actually working in Cacti, and once this is fixed, I'll can find the remaining issues and get the others going. Looking forward to the patch.

I played with a  little. The right fix would be matching to something like [0-9a-fA-F][0-9a-fA-F] but for now I was able to change d{2} to w{2} in both places it matches, and get by.


Quote
--- gpu_snmp.pl.old     2012-02-20 09:22:31.000000000 -0800
+++ gpu_snmp.pl 2012-02-20 09:20:21.000000000 -0800
@@ -64,7 +64,7 @@
 #
 # * - Default adapter
 #
-unless ($adapter_list =~ m/^.*\d+\.\s+\d{2}:\d{2}\.\d\s+.*/) {
+unless ($adapter_list =~ m/^.*\d+\.\s+\w{2}:\d{2}\.\d\s+.*/) {
   # Bail out, we are getting an error
   die "Execution failed with:" . $adapter_list . "\nCheck that sudo and aticonfig are configured correctly.\n";
 }
@@ -73,7 +73,7 @@
 my $num_adapters = 0;
 my @adapter;
 foreach my $line (split (/\n/,$adapter_list)) {
-  if (($id,$address,$description) = $line =~ m/^.*(\d+)\.\s+(\d{2}:\d{2}\.\d)\s+(.*)/) {
+  if (($id,$address,$description) = $line =~ m/^.*(\d+)\.\s+(\w{2}:\d{2}\.\d)\s+(.*)/) {
     #print "Got \$id:$id,\$address:$address,\$description:$description\n";
     $adapter[$num_adapters]{'id'} = $id;
     $adapter[$num_adapters]{'address'} = $address;



Updated version with dlasher's regex fixes posted to the link in the first post.
87  Bitcoin / Mining / Re: Monitoring AMD GPUs with SNMP in Linux on: February 20, 2012, 08:01:47 AM
Guessing it's this line in the script:

Quote
unless ($adapter_list =~ m/^.*\d+\.\s+\d{2}:\d{2}\.\d\s+.*/) {


Yep, you nailed it. The regex doesn't work with anything other than 0-9 at the moment. I'll post an updated version that should work with your setup as soon as I get a couple minutes free.
88  Bitcoin / Mining / Re: Cacti template for AMD GPU monitoring on: February 18, 2012, 01:55:24 AM
EDIT: Ignore me working fine.. I was able to still go add the graphs and it worked.

Glad to hear it!

Feel free to share your graphs if you are willing.
89  Bitcoin / Mining software (miners) / Re: CGMINER GPU bitforce overclock monitor fanspeed RPC in C linux/windows/osx 2.2.1 on: February 03, 2012, 08:52:23 PM
when i do that with my 6970, it defaults back to stock settings.

I think this is an issue with the 6xxx series, not the miner software.

All 6000 series cards are restricted to GPU clock -125 for memclock.  For example, if you are running at 900 on GPU, the lowest you can clock the memory is 775.  Anything lower than 125 below the GPU clock will reset the memclock to stock speed.
Windows applications have extra backdoors to the hardware to get around this. We have no cross platform->linux code that can do this, nor do I have access to how it's done on windows. So afterburner and others can work around this limitation.

It is possible to run 6000 series cards at significantly lower memclock rates on Linux, but you need to be willing to reflash your cards. I currently run my dual 6990 rig at a memclock of 150 with a GPU clock of 600 (higher is possible, but cooling/fan noise is an issue with the placement of my rig). The big upside to running at a lower memclock is reduced power consumption, but this would only work if you have a dedicated mining rig.
90  Bitcoin / Mining software (miners) / Re: Request for an RPC capable fork of cgminer (125/155 BTC pledged so far) on: January 03, 2012, 10:04:57 PM
Sorry for cross-posting, but this would seem to be relevant to both the main cgminer and this API thread.

I hacked together a workalike version of api-example in Perl leveraging the JSON parlance of the API supported by Kano's wonderful enhancements.

Details are here.
91  Bitcoin / Mining software (miners) / Re: CGMINER miner overclock monitor fanspeed RPC in C linux/windows/osx 2.1.0 on: December 28, 2011, 09:36:24 PM
Another voice added to the increasing murmur:

In response to Q, after normal/complete console and log output:

./start.sh: line 5:  9166 Segmentation fault      DISPLAY=:0 cgminer -c cgminer.conf 2> logs/$now.log

2.1.0 on Ubuntu 11.04


I also get segfaults when exiting via Q on 2.1.0 (CentOS 6.2 x86_64)
92  Bitcoin / Mining software (miners) / Re: CGMINER miner overclock monitor fanspeed RPC in C linux/windows/osx 2.1.0 on: December 28, 2011, 09:01:51 PM
Here is my quick and dirty Perl implementation of api-example. Just copy and save this as api-example.pl. Note, you need to have the JSON Perl module installed to use this (perl-JSON for RH-based distros).


Code:
#!/usr/bin/perl -w
#

#
# Simple Perl script to query and parse cgminer API stats in JSON
#
######################
##       Usage      ##
######################
#
# perl api-example.pl command
#
######################
## Revision History ##
######################
#
# v0.02 4/10/2012 JinTu (jintuNO@SPAMpraecogito.com)
#       Bugfix: Support for multi element arrays in responses
#
# v0.01 12/28/2011 JinTu (jintuNO@SPAMpraecogito.com)
#       First working version. Supports cgminer 2.1.0 API JSON format
#
##

use strict;
use IO::Socket;
use JSON -support_by_pp;

my $cgminer_host = "localhost";
my $cgminer_port = "4028";

my $remote = IO::Socket::INET->new(
                        Proto           => "tcp",
                        PeerAddr        => $cgminer_host,
                        PeerPort        => $cgminer_port,
                                  ) or die "cannot connect to port $cgminer_host:$cgminer_port, $!\n";

my $command;
my $parameter;
if ($ARGV[0]) {
  # look for parameters in addition to a command
  unless (($command,$parameter) = $ARGV[0] =~ m/(.*)\|(.*)/) {
    $command = $ARGV[0];
  }
}
else {
  # We didn't get an argument so default to sending summary
  $command = "summary";
}

# Send the JSON query
if ($parameter) {
  print $remote '{"command":"' . $command . '","parameter":"' . $parameter . '"}';
}
else {
  print $remote '{"command":"' . $command . '"}';
}

# Now read the result
my $response = <$remote>;

print $command . " returned \'$response\'\n";

# Now parse the JSON
my $json = new JSON;

# these are some nice json options to relax restrictions a bit:
my $json_text = $json->allow_nonref->utf8->relaxed->escape_slash->loose->allow_singlequote->allow_barekey->decode($response);

foreach my $tlc (keys %{$json_text}){
  print "\n$tlc\n";
  if ($json_text->{$tlc} =~ /array/i) {
    for (my $i = 0; $i <= (scalar @{$json_text->{$tlc}} - 1); $i++) {
      print "->[$i]\n";
      foreach my $cat (keys %{$json_text->{$tlc}->[$i]}) {
        print "\t$cat=" . $json_text->{$tlc}->[$i]->{$cat} . "\n";
      }
    }
  }
  else {
    # This is not an array so just print it
    print "\t" . $json_text->{$tlc} . "\n";
  }
}


# make sure we close the socket
$remote->close();


This will give you output like the following:
Code:
[JinTu@acheron ]$ perl api-example.pl
summary returned '{"STATUS":[{"STATUS":"S","Code":11,"Msg":"Summary","Description":"cgminer 2.3.1"}],"SUMMARY":[{"Elapsed":17227,"MHS av":855.59,"Found Blocks":0,"Getworks":5060,"Accepted":3546,"Rejected":10,"Hardware Errors":0,"Utility":12.35,"Discarded":373,"Stale":5,"Get Failures":10,"Local Work":0,"Remote Failures":5,"Network Blocks":31,"Total MH":14739525.4682}],"id":1}'

SUMMARY
->[0]
        Local Work=0
        Hardware Errors=0
        Total MH=14739525.4682
        MHS av=855.59
        Stale=5
        Network Blocks=31
        Elapsed=17227
        Rejected=10
        Discarded=373
        Utility=12.35
        Get Failures=10
        Found Blocks=0
        Getworks=5060
        Remote Failures=5
        Accepted=3546

STATUS
->[0]
        Code=11
        Msg=Summary
        STATUS=S
        Description=cgminer 2.3.1

id
        1
Code:
[JinTu@acheron ]$ perl api-example.pl devs
devs returned '{"STATUS":[{"STATUS":"S","Code":9,"Msg":"4 GPU(s)","Description":"cgminer 2.3.1"}],"DEVS":[{"GPU":0,"Enabled":"Y","Status":"Alive","Temperature":76                       .00,"Fan Speed":3108,"Fan Percent":50,"GPU Clock":470,"Memory Clock":150,"GPU Voltage":1.000,"GPU Activity":94,"Powertune":0,"MHS av":195.33,"MHS 5s":192.98,"Acce                       pted":824,"Rejected":4,"Hardware Errors":0,"Utility":2.90,"Intensity":"D","Last Share Pool":0,"Last Share Time":1334101418,"Total MH":3325785.6696},{"GPU":1,"Enab                       led":"Y","Status":"Alive","Temperature":75.50,"Fan Speed":-1,"Fan Percent":50,"GPU Clock":500,"Memory Clock":150,"GPU Voltage":1.000,"GPU Activity":99,"Powertune"                       :0,"MHS av":219.29,"MHS 5s":219.97,"Accepted":888,"Rejected":4,"Hardware Errors":0,"Utility":3.13,"Intensity":"8","Last Share Pool":0,"Last Share Time":1334101419                       ,"Total MH":3733853.3069},{"GPU":2,"Enabled":"Y","Status":"Alive","Temperature":72.50,"Fan Speed":3034,"Fan Percent":50,"GPU Clock":500,"Memory Clock":150,"GPU Vo                       ltage":1.000,"GPU Activity":99,"Powertune":0,"MHS av":220.79,"MHS 5s":220.81,"Accepted":883,"Rejected":2,"Hardware Errors":0,"Utility":3.11,"Intensity":"8","Last                        Share Pool":0,"Last Share Time":1334101386,"Total MH":3759237.2347},{"GPU":3,"Enabled":"Y","Status":"Alive","Temperature":75.00,"Fan Speed":-1,"Fan Percent":50,"G                       PU Clock":500,"Memory Clock":150,"GPU Voltage":1.000,"GPU Activity":0,"Powertune":0,"MHS av":220.07,"MHS 5s":220.24,"Accepted":911,"Rejected":0,"Hardware Errors":                       0,"Utility":3.21,"Intensity":"8","Last Share Pool":0,"Last Share Time":1334101436,"Total MH":3747107.3075}],"id":1}'

DEVS
->[0]
        Total MH=3325785.6696
        Last Share Time=1334101418
        Fan Percent=50
        Fan Speed=3108
        Status=Alive
        Last Share Pool=0
        Utility=2.9
        MHS 5s=192.98
        Temperature=76
        Memory Clock=150
        GPU Activity=94
        Accepted=824
        Hardware Errors=0
        MHS av=195.33
        Enabled=Y
        GPU Voltage=1
        Rejected=4
        GPU Clock=470
        GPU=0
        Intensity=D
        Powertune=0
->[1]
        Total MH=3733853.3069
        Last Share Time=1334101419
        Fan Percent=50
        Fan Speed=-1
        Status=Alive
        Last Share Pool=0
        Utility=3.13
        MHS 5s=219.97
        Temperature=75.5
        Memory Clock=150
        GPU Activity=99
        Accepted=888
        Hardware Errors=0
        MHS av=219.29
        Enabled=Y
        GPU Voltage=1
        Rejected=4
        GPU Clock=500
        GPU=1
        Intensity=8
        Powertune=0
->[2]
        Total MH=3759237.2347
        Last Share Time=1334101386
        Fan Percent=50
        Fan Speed=3034
        Status=Alive
        Last Share Pool=0
        Utility=3.11
        MHS 5s=220.81
        Temperature=72.5
        Memory Clock=150
        GPU Activity=99
        Accepted=883
        Hardware Errors=0
        MHS av=220.79
        Enabled=Y
        GPU Voltage=1
        Rejected=2
        GPU Clock=500
        GPU=2
        Intensity=8
        Powertune=0
->[3]
        Total MH=3747107.3075
        Last Share Time=1334101436
        Fan Percent=50
        Fan Speed=-1
        Status=Alive
        Last Share Pool=0
        Utility=3.21
        MHS 5s=220.24
        Temperature=75
        Memory Clock=150
        GPU Activity=0
        Accepted=911
        Hardware Errors=0
        MHS av=220.07
        Enabled=Y
        GPU Voltage=1
        Rejected=0
        GPU Clock=500
        GPU=3
        Intensity=8
        Powertune=0

STATUS
->[0]
        Code=9
        Msg=4 GPU(s)
        STATUS=S
        Description=cgminer 2.3.1

id
        1
93  Bitcoin / Mining software (miners) / Re: CGMINER miner overclock monitor fanspeed RPC in C linux/windows/osx 2.1.0 on: December 28, 2011, 05:18:14 PM
Hi Con, It looks like api-example.c, api-example.php, API.java/API.class and miner.php didn't get packaged up in the 2.1.0 source tarball. I see they are there in GIT but the README implies they are included in the main distribution.

94  Bitcoin / Mining software (miners) / Re: CGMINER CPU/GPU miner overclock monitor fanspeed in C linux/windows/osx 2.0.8 on: December 01, 2011, 09:44:23 PM
Is that with the new Xorg version (video ABI 11)? I've been having trouble with that as the fglrx driver causes a crash whenever I try to watch a video, so I downgraded Xorg and everything was fine once more.

Anyhow, your backtrace suggests that the crash has something to do with setting fan speed. Are you having cgminer manipulate that? If so, does the crash also happen when you start cgminer without --auto-fan or any other fan related options?

I'm using the latest stock version for CentOS 6: xorg-x11-server-Xorg-1.7.7-26.el6_0.3.x86_64. Grepping for ABI in my X logs I get the following:

Code:
(II) Module ABI versions:
        ABI class: X.Org Server Extension, version 2.0
        ABI class: X.Org Server Extension, version 2.0
        ABI class: X.Org Server Extension, version 2.0
        ABI class: X.Org Server Extension, version 2.0
        ABI class: X.Org Server Extension, version 2.0
        ABI class: X.Org Server Extension, version 2.0
        ABI class: X.Org Video Driver, version 6.0
        ABI class: X.Org Video Driver, version 6.0
        ABI class: X.Org ANSI C Emulation, version 0.4

Yes, I am indeed using --auto-fan. I tried omitting this option (first setting the fanspeed manually with aticonfig) and it still causes the same error when I instruct cgminer to quit and X crashes.
95  Bitcoin / Mining software (miners) / Quitting CGMINER 2.0.8 crashes X on: December 01, 2011, 06:33:13 PM
Hi folks,

I have been having a rather annoying issue with X crashing when I stop cgminer with 'q' about 80% of the time. When I quit and it doesn't crash X, the mining statistics text is truncated and cgminer doesn't fully exit until I hit Ctrl-C twice.

When it crashes, I see the following in my X logs:
Code:
Backtrace:
0: /usr/bin/Xorg (xorg_backtrace+0x28) [0x463548]
1: /usr/bin/Xorg (0x400000+0x622a9) [0x4622a9]
2: /lib64/libpthread.so.0 (0x320fe00000+0xf4c0) [0x320fe0f4c0]
3: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (NIslands_FanCtrl_SetFanSpeedRPM+0x85) [0x7f8fbddb5e55]
4: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (PHM_SetFanSpeedRPM+0x12) [0x7f8fbdd555d2]
5: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (PEM_SetFanSpeed+0x79) [0x7f8fbdd7a449]
6: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (0x7f8fbd7e3000+0x58fbeb) [0x7f8fbdd72beb]
7: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (PP_Cwdde+0x104) [0x7f8fbdd70c94]
8: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (swlPPLibAdlHandler+0xed) [0x7f8fbdd0b96d]
9: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (swlAdlDispatch+0x49) [0x7f8fbdd0a009]
10: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (0x7f8fbd7e3000+0x43cdbe) [0x7f8fbdc1fdbe]
11: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (0x7f8fbd7e3000+0x43a071) [0x7f8fbdc1d071]
12: /usr/bin/Xorg (0x400000+0x2a03c) [0x42a03c]
13: /usr/bin/Xorg (0x400000+0x2208a) [0x42208a]
14: /lib64/libc.so.6 (__libc_start_main+0xfd) [0x320f21ec5d]
15: /usr/bin/Xorg (0x400000+0x21c49) [0x421c49]
Floating point exception at address 0x7f8fbddb5e55

Fatal server error:
Caught signal 8 (Floating point exception). Server aborting

Details about my mining rig:
  • CentOS 6 x86_64
  • Catalyst 11.11
  • ADL SDK 3.0
  • APP SDK 2.5
  • cgminer 2.0.8

This has been happening for me since building my new miner and may be related to my environment or cgminer itself but wanted to see if anyone else has been experiencing this issue.


96  Bitcoin / Mining software (miners) / Re: CGMINER CPU/GPU miner overclock monitor fanspeed in C linux/windows/osx 2.0.8 on: November 17, 2011, 02:00:37 AM
Good news guys. I just tried upgrading to the ATI 11.11 driver on linux and the CPU usage bug is finally fixed, AND it works with newer xorg 1.11 (in case you're on a very recent distribution, like Archlinux).

How many GPUs?
1 GPU has been fixed since 11.9
2+ GPU was unfixed as of 11.10

If 2+ GPU work in 11.11 that is awesome.
Even 1 GPU was NOT fixed for many of us on either 11.9 or 11.10.

11.11 fixes CPU usage for any number of GPUS for me.

Confirmed in my CentOS 6 x86_64 dual 6990 rig as well. Loving the lower power consumption!
97  Bitcoin / Mining / Re: Monitoring AMD GPUs with SNMP in Linux on: October 18, 2011, 01:27:51 PM
Looks awesome.. ! Ill have to try this later. Can you somhow include hashrate from some of the popular miners too?

This version of the script (and the reported stats) are totally independent of any mining software you might be using, so you can use any application that uses your GPUs (mining or otherwise)

I plan to do another script to scrape the stats cgminer provides for hashrate but am not sure when I will get around to it.
98  Bitcoin / Mining / Cacti template for AMD GPU monitoring on: October 18, 2011, 06:13:39 AM
By leveraging my earlier work exposing GPU stats via SNMP, I created a Cacti template for monitoring my mining rigs and would like to share my work with all of you.

Here are some teaser graphs from one of my (largely untuned) 6990 GPUs:

Adding graphs to Cacti


Core clock for GPU 0


Memory clock for GPU 0 (underclocked to 150MHz)


Core voltage for GPU 0


Fan speed for GPU 0


Temperature for GPU 0


Load for GPU 0



Prerequisites

Installation instructions
  • Grab the latest template package from here.
  • Unzip the package and copy snmp_queries/amd.gpu.xml to your snmp_queries directory i.e. /var/www/html/cacti/resource/snmp_queries
  • Import cacti_data_query_amd_gpu.xml from the Cacti web interface.
  • Add the 'AMD GPU' Data Query to your miner host or host template.
  • 'Create Graphs for this Host' as you would normally.

Troubleshooting
  • Ensure that the host's SNMP Timeout value is set adequately long (e.g. >5 seconds) as the polling cycle for a host can be quite long.

A Verbose Query should look like the following:
Code:
+ Running data query [16].
+ Found type = '3' [snmp query].
+ Found data query XML file at '/var/www/html/cacti/resource/snmp_queries/amd_gpu.xml'
+ XML file parsed ok.
+ Executing SNMP walk for list of indexes @ '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.103.112.117.105.100'
+ Index found at OID: '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.103.112.117.105.100.1' value: '0'
+ Index found at OID: '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.103.112.117.105.100.2' value: '1'
+ Index found at OID: '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.103.112.117.105.100.3' value: '2'
+ Index found at OID: '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.103.112.117.105.100.4' value: '3'
+ Located input field 'gpuId' [walk]
+ Executing SNMP walk for data @ '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.103.112.117.105.100'
+ Found item [gpuId='0'] index: 1 [from value]
+ Found item [gpuId='1'] index: 2 [from value]
+ Found item [gpuId='2'] index: 3 [from value]
+ Found item [gpuId='3'] index: 4 [from value]
+ Located input field 'gpuAddress' [walk]
+ Executing SNMP walk for data @ '.1.3.6.1.4.1.8072.1.3.2.4.1.2.10.103.112.117.97.100.100.114.101.115.115'
+ Found item [gpuAddress='03:00.0'] index: 1 [from value]
+ Found item [gpuAddress='04:00.0'] index: 2 [from value]
+ Found item [gpuAddress='07:00.0'] index: 3 [from value]
+ Found item [gpuAddress='08:00.0'] index: 4 [from value]
+ Located input field 'gpuDescription' [walk]
+ Executing SNMP walk for data @ '.1.3.6.1.4.1.8072.1.3.2.4.1.2.14.103.112.117.100.101.115.99.114.105.112.116.105.111.110'
+ Found item [gpuDescription='AMD Radeon HD 6900 Series'] index: 1 [from value]
+ Found item [gpuDescription='AMD Radeon HD 6900 Series'] index: 2 [from value]
+ Found item [gpuDescription='AMD Radeon HD 6900 Series'] index: 3 [from value]
+ Found item [gpuDescription='AMD Radeon HD 6900 Series'] index: 4 [from value]
+ Found data query XML file at '/var/www/html/cacti/resource/snmp_queries/amd_gpu.xml'
+ Found data query XML file at '/var/www/html/cacti/resource/snmp_queries/amd_gpu.xml'
+ Found data query XML file at '/var/www/html/cacti/resource/snmp_queries/amd_gpu.xml'
...

Have fun!
99  Bitcoin / Mining / Monitoring AMD GPUs with SNMP in Linux on: October 18, 2011, 12:22:51 AM
Hi folks,

I'm a big fan of monitoring system performance with SNMP and when it came to mining I didn't find much out there that satisfied my requirements, so I decided to put something together and share with you all. The following describes how to monitor a Linux-based host with any number of ATI GPUs:

Prerequesites
  • Linux host (makes use of aticonfig and POSIX signalling)
  • Perl
  • AMD drivers
  • All installed GPUs detected and operational
  • All GPUs must have support for PPLIB.
  • Net-snmp installed and operational


Installation instructions
  • Grab the latest script from here.
  • Install this script somewhere net-snmp can execute it (e.g. /usr/local/bin).
  • Edit the following lines in the script as appropriate for your environment:
Code:
########################################################
## Tweak the following variables for your environment
#
my $sudo = "sudo -u jintu";           # The sudo command to execute
my $aticonfig = "/usr/bin/aticonfig"; # The full path to aticonfig
my $display = "DISPLAY=:0";           # The display your X session and ATI GPUs are running under
#
  • Edit snmpd.conf (mine is in /etc/snmp) to include the following lines (edit the path as appropriate):
Code:
# These are multi-line output visible from NET-SNMP-EXTEND-MIB::nsExtendOutLine
extend  gputemp         /usr/local/bin/gpu_snmp.pl temp
extend  gpuload         /usr/local/bin/gpu_snmp.pl load
extend  gpuclock        /usr/local/bin/gpu_snmp.pl clock
extend  gpumemory       /usr/local/bin/gpu_snmp.pl memory
extend  gpuvcore        /usr/local/bin/gpu_snmp.pl vcore
extend  gpufan          /usr/local/bin/gpu_snmp.pl fan
extend  gpuid           /usr/local/bin/gpu_snmp.pl id
extend  gpuaddress      /usr/local/bin/gpu_snmp.pl address
extend  gpudescription  /usr/local/bin/gpu_snmp.pl description
#
  • Test with snmpwalk e.g. 'snmpwalk -v2c -cpublic localhost NET-SNMP-EXTEND-MIB::nsExtendOutLine' which should output something like the following from my dual 6990 rig:
Code:
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuid".1 = STRING: 0
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuid".2 = STRING: 1
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuid".3 = STRING: 2
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuid".4 = STRING: 3
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpufan".1 = STRING: 85
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpufan".2 = STRING: 85
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpufan".3 = STRING: 85
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpufan".4 = STRING: 85
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuload".1 = STRING: 78
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuload".2 = STRING: 91
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuload".3 = STRING: 94
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuload".4 = STRING: 98
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gputemp".1 = STRING: 7350
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gputemp".2 = STRING: 7400
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gputemp".3 = STRING: 7450
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gputemp".4 = STRING: 7550
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuclock".1 = STRING: 500
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuclock".2 = STRING: 500
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuclock".3 = STRING: 515
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuclock".4 = STRING: 505
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuvcore".1 = STRING: 1000
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuvcore".2 = STRING: 1000
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuvcore".3 = STRING: 1050
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuvcore".4 = STRING: 1050
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpumemory".1 = STRING: 150
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpumemory".2 = STRING: 150
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpumemory".3 = STRING: 150
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpumemory".4 = STRING: 150
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuaddress".1 = STRING: 03:00.0
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuaddress".2 = STRING: 04:00.0
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuaddress".3 = STRING: 07:00.0
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuaddress".4 = STRING: 08:00.0
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpudescription".1 = STRING: AMD Radeon HD 6900 Series
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpudescription".2 = STRING: AMD Radeon HD 6900 Series
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpudescription".3 = STRING: AMD Radeon HD 6900 Series
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpudescription".4 = STRING: AMD Radeon HD 6900 Series



Troubleshooting
  • If you see "sudo: sorry, you must have a tty to run sudo" when executing the script via snmpd, comment out the following line in your sudoers file:
Code:
"Default requiretty"


    Wire up to your NMS as you see fit. For reference, I have posted my Cacti template utilizing these stats here.

    Have fun!
    100  Bitcoin / Pools / Re: [1800 GH/sec] BTC Guild - 0% Fees, LP, SSL, API, 8 Decimal Payouts and more! on: October 13, 2011, 12:12:32 AM
    And now all 3 pool servers are down.  I have a few weaker machines I'm bringing up that will proxy connections to our backend.  If they go down I'm out of options until the attackers stop.

    Looks like they hit Slush too.
    Pages: « 1 2 3 4 [5] 6 7 »
    Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!