Process.ProcessorAffinity 属性: public IntPtr ProcessorAffinity { get; set; }
属性值:位掩码,表示关联进程内的线程可以在其上运行的处理器。默认值取决于计算机上的处理器数。默认值为 2 n -1,其中 n 是处理器数。
在 Windows 2000 及更高版本中,进程中的线程可以在处理器间迁移,每次迁移都重新加载处理器缓存。在系统负荷繁重的情况下,指定哪个处理器运行特定的线程可以减少重新加载处理器缓存的次数,从而提高性能。处理器和线程之间的关联称为处理器关系。
每个处理器均表示为一位。位 0 是处理器一,位 1 是处理器二,依次类推。如果将某位设置为值 1,则将选择相应的处理器进行线程分配。
当您将 ProcessorAffinity 值设置为零时,操作系统的调度算法将设置线程的关联。当 ProcessorAffinity
值设置为任何非零值时,该值被解释为指定符合选择条件的处理器的位掩码。
设置CPU关联进程语句示例:
Process.GetCurrentProcess().ProcessorAffinity = (System.IntPtr)2;//2表示第2个CPU
程序示例:
using System;
using System.Diagnostics;
using
System.Text;
namespace caAfinity
{
    class Program
    {

static void Main(string[] args)
        {
Console.WriteLine("当前CPU亲和力: {0}", Process.GetCurrentProcess().ProcessorAffinity);
Process.GetCurrentProcess().ProcessorAffinity = (System.IntPtr)2;
Console.WriteLine("当前CPU亲和力: {0}",
Process.GetCurrentProcess().ProcessorAffinity);
            while (true)
            { }                       
        }
    }
}

测试双核多线程程序,未配置情况下Process.GetCurrentProcess().ProcessorAffinity=3,即11。
CPU使用情况:

设置Process.GetCurrentProcess().ProcessorAffinity = (System.IntPtr)2; 后CPU使用情况:

多线程经常会占满CPU,通过此方法可在多核系统中限制程序对CPU的占用。

详细测试需要用2U 2路4核服务器测试才能得出。

以下方法可以获取CPU个数,但无法获取核心个数。
            using System.Management;
            ManagementClass m = new ManagementClass("Win32_Processor");
            ManagementObjectCollection mn = m.GetInstances();

CPU核心数的更多相关文章

  1. linux查询cpu核心数

    linux怎么查询cpu核心数 1.查看逻辑CPU个数: #cat /proc/cpuinfo |grep "processor"|sort -u|wc -l24 2.由于有超线程 ...

  2. CPU个数、CPU核心数、CPU线程数

    CPU个数.CPU核心数.CPU线程数 我们在选购电脑的时候,CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级.CPU从早期的单核,发展到现在的双核,多核.CPU除了核心数之外,还有线程数之 ...

  3. [转发]CPU个数、CPU核心数、CPU线程数

    我们在选购电脑的时候,CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级.CPU从早期的单核,发展到现在的双核,多核.CPU除了核心数之外,还有线程数之说,下面文本就来解释一下CPU的核心数与 ...

  4. WIN7下查看CPU核心数

    方法一 WIN+R输入cmd,输入wmic,输入cpu get *(注意空格),找到numberofcores和numberoflogicalprocessors,如下图为双核4线程,真核心数是2,使 ...

  5. linux查询操作系统信息,CPU物理个数,CPU核心数,逻辑CPU数,内存信息查询,硬盘信息查询

    目录 一.前言 二.关于服务器基本配置 2.1 操作系统基本配置查询 2.2 CPU基本配置查询 2.3 内存基本配置查询 2.4 硬盘基本配置查询 一.前言 ​ 当我们接手了一台或者几台服务器的时候 ...

  6. 查看windows电脑CPU核心数,线程数

    在Windows中,在cmd命令中输入“wmic”,然后在出现的新窗口中输入“cpu get *”即可查看物理CPU数.CPU核心数.线程数.其中,  Name:表示物理CPU数  NumberOfC ...

  7. linux下查看cpu核心数

    1.查看物理CPU个数 cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l 2.查看每个物理CPU含有的core个数 cat ...

  8. linux 查看cpu核心数

    1.查看CPU个数 cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l 2.查看每个物理CPU含有的核心个数 cat /pr ...

  9. java获取CPU核心数

    package ThreadTest; public class ThreadTest05 { public static void main(String[] args) { //获取CPU核心 S ...

随机推荐

  1. Oracle Dataguard三种保护模式概述(转)

    Oracle的DataGuard技术有三种实现模式,分别是max performance.max availability.max protection这三种模式. 以下是来自Oracle文档的摘要信 ...

  2. How to Install/Deinstall Oracle Workspace Manager (文档 ID 263428.1)

    In this Document   Goal   Solution   References APPLIES TO: Workspace Manager - Version 9.0.1.0 to 1 ...

  3. ipa 重签

    IPA 重签名 时间 2014-03-03 10:28:36  txx's blog原文  http://blog.rpplusplus.me/blog/2014/03/03/ipa-re-codes ...

  4. CSS3实现漂亮ToolTips

    演示Demo 5种效果的主要css如下: /* transform:向元素应用2D或3D转换; transform-origin属性只有在定义了transform以后才生效 */ .tooltip-e ...

  5. Stat

    Description 请你编程实现一个简单(渣渣)的文本编辑器,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置.注意:匹配单词时,不区分大小写,但要求完全匹配,即给定 ...

  6. Python Challenge

    0. 2的38次方 print 2**38 ##apply the result to the url 1. 看图是要right shift两位, 切片即可. import string intab ...

  7. Apache-Tomcat 和 Apache-Maven配置

    1.1.下载安装文件 官网对应版本下载,例:apache-tomcat-8.0.35-windows-x64.zip 1.2.指定对应的安装目录: 例:D:\JavaSoft\apache-tomca ...

  8. BroadcastReceiver浅析

    1.什么是BroadcastReceiver? 本质上是属于一个监听器,但onXxxListenter只是程序级别的监听器,当程序退出时候监听器也随之关闭.而BroadcastReceiver是系统级 ...

  9. 4位或者5位led数码显示,485通信modbus,支持任意小数点写入,工业标准设置,可和plc,dcs,组态完美对接,支持定制修改

    MRD-5030具有4位8段数码管,支持通过工业标注协议Modbus(Modbus-RTU)控制显示,支持任意小数点的显示.数据以半双工方式通信.电源端口和通信端口都具有防浪涌,防雷600W保护,能够 ...

  10. Delphi检测网络连接状态

    有时候,我们做一些小软件就需要检测网络连接状态,比如想给你的软件加上类似QQ那样的系统消息,可是像我这样的穷人肯定是买不起服务器了,那我们只好另想办法,可以读取网页然后用浏览器显示,这个时候就需要判断 ...