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