将内容过程中经常用的一些内容段备份一下,如下资料是关于C# 获取内存和CPU信息的的内容,希望能对大伙有一些用。
using System.Collections;
using System.Collections.Generic;
using System.Management;
using System.Text;
namespace MergeSystem.Indexus.WinServiceCommon.SystemManagement
{
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
{
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(@" --- ");
}
}
}
}