Monitoring hardware

I’ve been using PC Wizard and SpeedFan to check my machine’s temperature and fans.

They’re pretty handy but neither of them picks up all the sensors.  And as GUI applications, neither is suited to efficient data recording.  GUIs make simple usage easier at the expensive of making complicated usage harder.

While looking around for some information on APIs for getting the data, I stumbled on Open Hardware Monitor.  This one appears to pick up all the sensors (that I’m aware of, anyway), and displays them in a convenient tree.  Furthermore, it’s open source.  It doesn’t yet have logging, but it’s a popular feature request (see their issue tracker).

In the meantime I’ve got the source, compiled it with Visual C# Express, and hacked in some logging to a CSV file.  Every second, I get 36 metrics covering CPU clock speed, voltage, temperature, fan speed, graphics card temp, other fans, etc.  An extract:

25/02/2011 7:06:53 p.m.,ITE IT8721F,Voltage #1,Voltage,2.772
25/02/2011 7:06:53 p.m.,ITE IT8721F,Analog +3.3V,Voltage,3.384
25/02/2011 7:06:53 p.m.,ITE IT8721F,Standby +3.3V,Voltage,3.384
25/02/2011 7:06:53 p.m.,ITE IT8721F,VBat,Voltage,3.36
25/02/2011 7:06:53 p.m.,ITE IT8721F,Temperature #1,Temperature,46
25/02/2011 7:06:53 p.m.,ITE IT8721F,Temperature #2,Temperature,26
25/02/2011 7:06:53 p.m.,ITE IT8721F,Fan #1,Fan,4090.909
25/02/2011 7:06:53 p.m.,ITE IT8721F,Fan #2,Fan,1169.844
25/02/2011 7:06:53 p.m.,AMD Phenom II X6 1090T Processor,CPU Core #1,Load,100
25/02/2011 7:06:53 p.m.,AMD Phenom II X6 1090T Processor,CPU Total,Load,100
25/02/2011 7:06:53 p.m.,AMD Phenom II X6 1090T Processor,CPU Core #1,Clock,3210.799
25/02/2011 7:06:53 p.m.,AMD Phenom II X6 1090T Processor,Core #1 - #6,Temperature,36.75
25/02/2011 7:06:53 p.m.,AMD Phenom II X6 1090T Processor,Bus Speed,Clock,200.6749
25/02/2011 7:06:53 p.m.,AMD Radeon HD 6800 Series,GPU Core,Temperature,40
25/02/2011 7:06:53 p.m.,AMD Radeon HD 6800 Series,GPU Fan,Fan,1097
25/02/2011 7:06:53 p.m.,AMD Radeon HD 6800 Series,GPU Fan,Control,22
25/02/2011 7:06:53 p.m.,AMD Radeon HD 6800 Series,GPU Core,Clock,100
25/02/2011 7:06:53 p.m.,AMD Radeon HD 6800 Series,GPU Memory,Clock,300
25/02/2011 7:06:53 p.m.,AMD Radeon HD 6800 Series,GPU Core,Voltage,0.95
25/02/2011 7:06:53 p.m.,AMD Radeon HD 6800 Series,GPU Core,Load,5
25/02/2011 7:06:53 p.m.,WDC WD20EARS-00MVWB0,HDD,Temperature,27

This amounts to about 18 MB of data per hour.  1 second resolution is probably more than enough, so I’ll scale it back a bit.  The idea is that it could be imported into a database for later analysis.

I should also clean up the code and post it here.  I imagine the real logging feature for OHM would take more work than this, but until that appears my patch could be useful.

Advertisements
This entry was posted in Hardware, Programming and tagged , , . Bookmark the permalink.

4 Responses to Monitoring hardware

  1. Pingback: Vector denormalisation in PostgreSQL | EJRH

  2. Pingback: GPU temperature control | EJRH

  3. Pingback: Open Hardware Monitor logging and fan control | EJRH

  4. Pingback: Time for a vacuum? | EJRH

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s