2012-03-07 14 views
6

मैं कई सिस्टमों से डब्लूएमआई के साथ सीपीयू लोड प्रतिशत में प्राप्त करने के लिए एक बेहतर तरीका खोज रहा हूं (मतलब विभिन्न सीपीयू इत्यादि)। मेरा कोड काम कर रहा है, लेकिन मुझे लगता है कि सभी CPU उपयोग को प्रतिशत में प्राप्त करने का एक बेहतर तरीका है।डब्लूएमआई क्वेरी - सीपीयू लोडपेरसेटेज

कोई भी विचार?

अग्रिम धन्यवाद!

SelectQuery queryCpuUsage = new SelectQuery("SELECT * FROM Win32_Processor"); 
ManagementObjectSearcher cpuUsage = new ManagementObjectSearcher(scope, queryCpuUsage);          
ManagementObjectCollection cpuUsageCollection = cpuUsage.Get();              

foreach (ManagementObject queryObj in cpuUsageCollection) 
{           
iCPU++; 
calcCPU = Convert.ToInt32(queryObj["LoadPercentage"]); 
perCPU = perCPU + calcCPU; 
} 

perCPU = perCPU/iCPU; 

cpuUsageCollection.Dispose(); 

Console.WriteLine("LoadPercentage CPU: {0}", perCPU); 

उत्तर

4

व्यक्तिगत रूप से मैं Win32_PerfRawData_PerfOS_Processor कक्षा के लिए जाऊंगा क्योंकि यह अधिक सटीक है। आपको पेरेंटप्रोसेसरटाइम और टाइमस्टैम्प_Sys100NS दोनों से पूछताछ करने की आवश्यकता होगी। Here आप सटीक फॉर्मूला पा सकते हैं।

संबंधित मुद्दे