美文网首页
C# 获取内存和CPU信息的源码

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

作者: laohuli | 来源:发表于2020-06-11 11:16 被阅读0次

将内容过程中经常用的一些内容段备份一下,如下资料是关于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(@" --- ");

            }

        }

    }

}

相关文章

网友评论

      本文标题:C# 获取内存和CPU信息的源码

      本文链接:https://www.haomeiwen.com/subject/aszvtktx.html