README

Path: README
Last Update: Wed Jun 09 01:08:01 +0000 2010

Description

   A Ruby interface for getting cpu information.

Installation

Standard Installation

   rake test (optional)
   rake install (non-gem)

Gem installation

   rake test (optional)
   ruby sys-cpu.gemspec
   gem install sys-cpu-X.Y.Z.gem # where 'X.Y.Z' corresponds to the version.

Notes

All Platforms

   As of version 0.5.0 Ruby 1.8.0 or later is required.  It may work with
   earlier versions, but I will not support it.

Solaris

   Currently there is no 'processors()' iterative method for multi-cpu systems.
   I plan to add it this in a future release.

OS X

   The CPU.freq method is not supported at the moment. The sysctl() approach
   returns a bogus, hard coded value of some sort. I suspect it's possible
   by using kernel modules via kldload(), but I'm not sure how yet.

Linux

   This is pure Ruby.  This version reads information out of /proc/cpuinfo and
   /proc/loadavg, so if /proc isn't mounted it won't work.

   The key-value information in /proc/cpuinfo is stored internally (i.e. in
   memory) as an array of hashes when you first 'require' this package.  This
   overhead is exceptionally minimal, given that your average cpuinfo file
   contains less than 1k of text (and I don't store whitespace or newlines).

   The text documentation for Linux is dynamically generated during the
   build process because the fields vary depending on your setup.  So, don't
   look at it until *after* you've installed it.  You will see a doc/linux.txt
   file after you run 'rake install' (via install.rb).

HP-UX

   Unlike other platforms, you can get load averages for an individual cpu (in
   multi-cpu systems). See documentation for more details.

MS Windows

   This is a pure Ruby implementation using the win32ole package + WMI. The C
   version has been scrapped.

   As of version 0.5.0, the CPU.usage method has been removed in favor of the
   CPU.load_avg method.  This does not (currently) use a perf counter, so there
   is no longer any delay.  Also, the 'processors' method has been
   added and the 'supported' method has been dropped.  See the documentation
   for other changes.

Known Bugs

   None that I'm aware of.  Please report bugs on the project page at
   http://www.rubyforge.org/projects/sysutils.

Future Plans

   Add iterative CPU.processors method.
   Make CPU.freq work on OS X.
   Add more information in general, such as what 'prtdiag' shows.

License

   Ruby's.

Copyright

   (C) 2003-2007 Daniel J. Berger
   All Rights Reserved

Warranty

   This package is provided "as is" and without any express or
   implied warranties, including, without limitation, the implied
   warranties of merchantability and fitness for a particular purpose.

Author

   Daniel J. Berger
   djberg96 at nospam at gmail dot com
   imperator on IRC (irc.freenode.net)

[Validate]