| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
wen5
10年前发布

C# 获取内存和CPU信息的代码

获取cpu信息

  using System.Collections;  using System.Collections.Generic;  using System.Management;  using System.Text;    namespace MergeSystem.Indexus.WinServiceCommon.SystemManagement  {      /// <summary>      /// Represents the CPU scope information      /// </summary>      public class Cpu      {          public static void LogCpuData()          {              System.Collections.ArrayList result = new System.Collections.ArrayList();              ManagementScope mgmtScope = new ManagementScope(@"/. ootcimv2");              mgmtScope.Connect();                ManagementPath mp = new ManagementPath("Win32_Processor");              ManagementClass mc = new ManagementClass(mgmtScope, mp, null);              ManagementObjectCollection procs = mc.GetInstances();                foreach (ManagementObject mo in procs)              {                  foreach (PropertyData pd in mo.Properties)                  {                      switch (pd.Name)                      {                          case "DeviceID":                          case "Name":                          case "LoadPercentage":                              Console.WriteLine(@"Name: {0}; Value: {1}", pd.Name, pd.Value == null ? string.Empty : pd.Value.ToString().Trim());                              Handler.LogHandler.Info(string.Format(@"Name: {0}; Value: {1}", pd.Name, pd.Value == null ? string.Empty : pd.Value.ToString().Trim()));                              Handler.LogHandler.MemoryFatalException(string.Format(@"Name: {0}; Value: {1}", pd.Name, pd.Value == null ? string.Empty : pd.Value.ToString().Trim()));                                break;                      }                  }                  Console.WriteLine(@" --- ");                  Handler.LogHandler.Info(@" --- ");              }          }      }  }   
获取内存信息
using System;  using System.Collections;  using System.Collections.Generic;  using System.Management;  using System.Text;    namespace MergeSystem.Indexus.WinServiceCommon.SystemManagement  {      /// <summary>      /// Represents the Memory scope information      /// </summary>      public class Memory      {            public static void LogMemoryData()          {              ManagementScope mgmtScope = new ManagementScope(@"/. ootcimv2");              mgmtScope.Connect();                ManagementPath mp = new ManagementPath("Win32_OperatingSystem");              ManagementClass mc = new ManagementClass(mgmtScope, mp, null);              ManagementObjectCollection procs = mc.GetInstances();                foreach (ManagementObject mo in procs)              {                  foreach (PropertyData pd in mo.Properties)                  {                      switch (pd.Name)                      {                          case "BuildNumber":                          case "BuildType":                          case "Caption":                          case "CountryCode":                          case "CSDVersion":                          case "CSName":                          case "CurrentTimeZone":                          case "FreePhysicalMemory":                          case "FreeSpaceInPagingFiles":                          case "FreeVirtualMemory":                          case "LastBootUpTime":                          case "MaxNumberOfProcesses":                          case "MaxProcessMemorySize":                          case "NumberOfProcesses":                          case "NumberOfUsers":                          case "Organization":                          case "OSLanguage":                          case "RegisteredUser":                          case "SerialNumber":                          case "ServicePackMajorVersion":                          case "ServicePackMinorVersion":                          case "SizeStoredInPagingFiles":                          case "SystemDevice":                          case "SystemDirectory":                          case "SystemDrive":                          case "TotalVirtualMemorySize":                          case "TotalVisibleMemorySize":                          case "Version":                          case "WindowsDirectory":                              Console.WriteLine(@"Name: {0}; Value: {1}", pd.Name, pd.Value == null ? string.Empty : pd.Value.ToString().Trim());                              Handler.LogHandler.Info(string.Format(@"Name: {0}; Value: {1}", pd.Name, pd.Value == null ? string.Empty : pd.Value.ToString().Trim()));                              Handler.LogHandler.MemoryFatalException(string.Format(@"Name: {0}; Value: {1}", pd.Name, pd.Value == null ? string.Empty : pd.Value.ToString().Trim()));                              break;                      }                                      }                  Console.WriteLine(@" --- ");                  Handler.LogHandler.Info(@" --- ");              }            }      }  }