Class: SystemInformation::Linux::CPU
- Inherits:
-
Object
- Object
- SystemInformation::Linux::CPU
- Defined in:
- lib/systeminformation/linux/cpu.rb
Instance Method Summary collapse
-
#initialize ⇒ CPU
constructor
A new instance of CPU.
- #utilization ⇒ Object
Constructor Details
#initialize ⇒ CPU
Returns a new instance of CPU.
4 5 6 |
# File 'lib/systeminformation/linux/cpu.rb', line 4 def initialize @prev_data = read_data end |
Instance Method Details
#utilization ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/systeminformation/linux/cpu.rb', line 8 def utilization new_data = read_data returnhash = {} new_data.keys.each do |key| difference = @prev_data[key].zip(new_data[key]).map{|i| i[1].to_f - i[0].to_f} difference sum = difference.inject{|a,b| a+b} difference.map!{|i| i/sum}.map!{|i| i.nan? ? 0 : i} returnhash[key] = { :user => difference[0], :nice => difference[1], :system => difference[2], :idle => difference[3], :running => difference[4], :iowait => difference[5], :irq => difference[6], :softirq => difference[7] } end @prev_data = new_data return returnhash end |