How to get CPU Usage/Memory Usage/Physical Memory
Here are the few functions which will help you out in getting CPU Usage, Memory Usage and Physical Memory Using C#.NET[Proprietor: Yogesh Patel]:
/// <summary> /// Gets CPU Usage in % /// </summary> /// <returns></returns> private double getCPUUsage() { ManagementObject processor = new ManagementObject("Win32_PerfFormattedData_PerfOS_Processor.Name='_Total'"); processor.Get(); return double.Parse(processor.Properties["PercentProcessorTime"].Value.ToString()); } /// <summary> /// Gets memory usage in % /// </summary> /// <returns></returns> private double getMemoryUsage() { double memAvailable, memPhysical; PerformanceCounter pCntr = new PerformanceCounter("Memory", "Available KBytes"); memAvailable = (double) pCntr.NextValue(); memPhysical = getPhysicalMemory(); return (memPhysical - memAvailable) * 100 / memPhysical; } /// <summary> /// Gets total physical memory /// </summary> /// <returns></returns> private double getPhysicalMemory() { ObjectQuery winQuery = new ObjectQuery("SELECT * FROM Win32_LogicalMemoryConfiguration"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(winQuery); double memory = 0; foreach (ManagementObject item in searcher.Get()) { memory = double.Parse(item["TotalPhysicalMemory"].ToString()); } return memory; }
Please note that on INTERNET there are so many functions available but this is most accurate and perfect. We are using it on our production servers.
Leave a Reply