Class: Vmopt::SystemResource

Inherits:
Object
  • Object
show all
Defined in:
lib/vmopt/system_resource.rb

Instance Method Summary collapse

Instance Method Details

#get_cpuObject



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/vmopt/system_resource.rb', line 8

def get_cpu
  data_value={}
  colItems = WMI.execquery ("select * from Win32_Processor")
  for objItem in colItems do
    str={"CPU数量" => objItem.NumberOfCores,
         "CPU主频" => (objItem.MaxClockSpeed/1000.0).round(2),
         "CPU使用率" => "#{objItem.LoadPercentage}%"
      }
        data_value["#{objItem.DeviceID}"]=str
  end
  return data_value
end

#get_memoryObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/vmopt/system_resource.rb', line 21

def get_memory
  data_value={}
  colItems = WMI.execquery ("select * from Win32_PhysicalMemory")
  for objItem in colItems do
    memsizestr = objItem.Capacity
    memsizei = memsizestr.to_i/1024/1024  #str转interger   

  end
  availMemorys = WMI.execquery ("select * from Win32_PerfRawData_PerfOS_Memory")
  for availMemory in availMemorys do 
    availstr = availMemory.AvailableMBytes
    availi = availstr.to_i    #str转interger

  end
  
  str = {"总物理内存" => memsizei,  
      "可用内存" => availi,
     "内存使用率" => "#{(((memsizei-availi) * 1.0 /memsizei) * 100).round(1)}%"
    }
  data_value["#{objItem.Name}"] = str
  return data_value
end