C#获取CPU处理器核心数量的方法

有几条不同的处理器信息,您可以获得有关的信息:物理处理器数量、核心数量和逻辑处理器数量,这些可以不同。两颗双核超线程(启用)处理器的机器情况下有:2个物理处理器、4个核心和8个逻辑处理器。

逻辑处理器数是可通过Environment类获取,但其他信息都是只可通过WMI(您可能需要安装一些修补程序或服务包)获取:

物理处理器:

foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_ComputerSystem").Get())
{
 Console.WriteLine("Number Of Physical Processors: {0} ", item["NumberOfProcessors"]);
}

内核:

int coreCount = 0;
foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_Processor").Get())
{
 coreCount += int.Parse(item["NumberOfCores"].ToString());
}
Console.WriteLine("Number Of Cores: {0}", coreCount);

逻辑处理器:

Console.WriteLine("Number Of Logical Processors: {0}", Environment.ProcessorCount);

foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_ComputerSystem").Get())
{
 Console.WriteLine("Number Of Logical Processors: {0}", item["NumberOfLogicalProcessors"]);
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

(0)

相关推荐

  • 详解C#获取特定进程CPU和内存使用率

    首先是获取特定进程对象,可以使用Process.GetProcesses()方法来获取系统中运行的所有进程,或者使用Process.GetCurrentProcess()方法来获取当前程序所对应的进程对象.当有了进程对象后,可以通过进程对象名称来创建PerformanceCounter类型对象,通过设定PerformanceCounter构造函数的参数实现获取特定进程的CPU和内存使用情况. 具体实例代码如下: 首先是获取本机中所有进程对象,分别输出某一时刻各个进程的内存使用情况: using

  • C#程序优化-有效减少CPU占用率

    最近开发的项目中,由于会用到比较耗费CPU资源的第三方程序ffmpeg来处理视频.所以在网上找了一下,如何解决这种问题. 于是乎,就得到一个结论,减少CPU占用率,可以通过减少使用的CPU数量,在Window系统下,打开一个exe程序,系统会默认使用所有CPU作为处理. 是不是减少CPU使用数量,就可以减少CPU占用率呢,答案是肯定的. 参考代码:这里使用calc作为例子. Process p = new Process(); p.StartInfo.FileName = @"c:\window

  • C#读取计算机CPU及HDD信息的方法

    本文实例讲述了C#读取计算机CPU及HDD信息的方法.分享给大家供大家参考.具体如下: 这里使用C#读取计算机CPU,HDD信息,适用于Windows public string getCpuInfo() //读取CPU信息 { ManagementClass mobj = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = mobj.GetInstances(); foreach (Mana

  • 用C#获取硬盘序列号,CPU序列号,网卡MAC地址的源码

    privatestring[]GetMoc() { string[]str=newstring[3]; ManagementClassmcCpu=newManagementClass("win32_Processor"); ManagementObjectCollectionmocCpu=mcCpu.GetInstances(); foreach(ManagementObjectminmocCpu) { str[0]=m["ProcessorId"].ToStrin

  • C#测量程序运行时间及cpu使用时间实例方法

    这里要指出的是, 运行一段程序,使用的cpu时间,跟实际运行的时间是不一样的.附例如下: 复制代码 代码如下: private void ShowRunTime()  {   TimeSpan ts1 = Process.GetCurrentProcess().TotalProcessorTime;   Stopwatch stw = new Stopwatch();  stw.Start();  int Circles = 1000;   for (int i = 0; i < Circles

  • C#获取CPU编号的方法

    本文实例讲述了C#获取CPU编号的方法.分享给大家供大家参考.具体如下: /// <summary> /// Gets the cpu 编号. ///需引用 using System.Management; /// </summary> /// <returns></returns> public string GetCpuId() { string cpuInfo = ""; ManagementClass cimobject = ne

  • C#获取机器码的方法详解(机器名,CPU编号,硬盘编号,网卡mac等)

    本文实例讲述了C#获取机器码的方法.分享给大家供大家参考,具体如下: using System.Runtime.InteropServices; using System.Management; using System; public class HardwareInfo { //取机器名 public string GetHostName() { return System.Net.Dns.GetHostName(); } //取CPU编号 public String GetCpuID()

  • C#获取CPU处理器核心数量的方法

    有几条不同的处理器信息,您可以获得有关的信息:物理处理器数量.核心数量和逻辑处理器数量,这些可以不同.两颗双核超线程(启用)处理器的机器情况下有:2个物理处理器.4个核心和8个逻辑处理器. 逻辑处理器数是可通过Environment类获取,但其他信息都是只可通过WMI(您可能需要安装一些修补程序或服务包)获取: 物理处理器: foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win

  • Java实现获取cpu、内存、硬盘、网络等信息的方法示例

    本文实例讲述了Java实现获取cpu.内存.硬盘.网络等信息的方法.分享给大家供大家参考,具体如下: 1. 下载安装sigar-1.6.4.zip 使用java自带的包获取系统数据,容易找不到包,尤其是内存信息不够准确,所以选择使用sigar获取系统信息. 下载地址:http://sourceforge.net/projects/sigar/files/latest/download?source=files 或点击此处本站下载. 解压压缩包,将lib下sigar.jar导入eclipse的CL

  • Python运维之获取系统CPU信息的实现方法

    使用Python进行运维工作的时候有时候需要获取CPU的信息,这在psutil模块库的帮助下非常容易实现. 常见的CPU信息有以下几种: 1,用户时间以及百分比: 2,系统时间以及百分比: 3,空闲时间以及百分比: 4,CPU的硬件信息: 前3个中的时间可以采用cpu_times方法获取,百分比可以使用cpu_times_pcercent获得. 简单的示范如下: In [9]: importpsutil In [10]:psutil.cpu_times() Out[10]: scputimes(

  • VBScript获取CPU使用率的方法

    VBScript通过WMI获取CPU使用率的代码 度娘中,搜索关键词"WMI CPU使用率",得到的全是<python使用WMI监视系统-CPU使用率>,不用看,肯定又是采集的. Python固然强大,但是调用WMI还是用VBS比较"正宗". On Error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:\\" &

  • C# 获取硬件参数的实现方法

    C# 获取硬件参数的实现方法 示例代码: private static string GetIdentifier(string wmiClass, string wmiProperty, string wmiMustBeTrue) { string result = ""; System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass); System.Management.M

  • WMI获取硬件信息封装函数方法(联想台式机出厂编号 CPUID BIOS序列号 硬盘信息 显卡信息 MAC地址)

    今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都是可以提取出来的,就自己把那些公共部分提出出来,以后如果要获取某部分的硬件信息就不用写一个一个的函数,比如获取MAC地址就写一个获取MAC地址的函数,获取CPU 信息就写一个获取CPU信息的函数,太麻烦了 如下是函数代码: 复制代码 代码如下: private static string identifier(string wmiClass, string wmiProperty, string wmiMustBeTrue)      

  • 在NET Core 中获取 CPU 使用率

    以下文章来源于微信公众号DotNetCore实战  在 .NET Framework 中,很多人会用 PerformanceCounter 类做这件事情, 如下代码:     public class Program     {         public static void Main(string[] args)         {             while (true)             {                 var cpuUsage = GetCpuUs

  • 使用python获取cpu每秒的使用率

    目录 获取cpu每秒的使用率 要求 在cpu.txt文件中 python充分利用cpu 多线程无法增加cpu使用率的原因 如何充分使用多核跑程序 1. multiprocessing 2. C 语言扩展机制 3. ctypes 获取cpu每秒的使用率 要求 请获取某段时间的cpu的占有率,以持久化形式保存. 代码: import psutil import time # cpu_res = psutil.cpu_percent() # print(cpu_res) # 每一秒获取获取cpu的占有

  • JVM中最耗cpu的线程查找方法

    目录 正文 GC总体内存概述 正文 1.top命令查找出cpu最高的java进程pid 2.top -Hp 命令找出进程内最耗线程的pid top -Hp 22293 3.获取到上一步线程的pid后 将pid 16进制输出 # printf '%x\n' 22801 5911 4 使用jstack命令找出线程信息 jstack 进程pid |grep 16进制后的线程号 # jstack 22293|grep 5911 "DubboServerHandler-192.168.0.11:20880

随机推荐