精华内容
下载资源
问答
  • Windows下查看电脑CPU个数,核心,线程

    万次阅读 多人点赞 2018-01-21 14:04:06
    总逻辑CPU数 = 物理CPU数 X 每颗物理CPU的核数 X 超线程数 1、查看物理CPU的个数 在cmd命令中输入“systeminfo”,以下信息表示物理CPU有一 2、查看物理CPU数、CPU核心数、线程数 在cmd命令中输入“wmic”...

    首先,需要知道的是:
    总核数 = 物理CPU个数 X 每颗物理CPU的核数
    总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

    ###1、查看物理CPU的个数
    在cmd命令中输入“systeminfo”,以下信息表示物理CPU有一个
    这里写图片描述

    ###2、查看物理CPU数、CPU核心数、线程数
    在cmd命令中输入“wmic”,然后在出现的新窗口中输入“cpu get *”。
    NumberOfCores:表示CPU核心数
    NumberOfLogicalProcessors:表示CPU线程数
    这里写图片描述

    展开全文
  • CPU个数,核心,线程

    万次阅读 多人点赞 2018-08-14 09:29:07
    cpu的个数很容易得到,螺丝刀拆开你的电脑数一下就行了。这没有什么好说的。 为了给电脑更高的性能,一cup中集成了多内核,这样电脑的性能就成倍的提升。随着科技的发展,我们发现每内核的性能也变的十分强大...

    我们在买电脑的时候,经常会看cpu的参数,对cpu的描述有这几种:“双核”、“双核四线程”、“四核”、“四核四线程”、“四核八线程”……。

    我们接触的电脑基本上都只有一个cup。cpu的个数很容易得到,螺丝刀拆开你的电脑数一下就行了。这没有什么好说的。

    为了给电脑更高的性能,一个cup中集成了多个内核,这样电脑的性能就成倍的提升。随着科技的发展,我们发现每个内核的性能也变的十分强大,于是一个内核又被分成两个线程。但是,我们要注意的是,一个cpu分成多个内核,这是物理的分隔,拆开cpu是可以看到的;但是一个内核被分成两个线程是一种超线程技术,也就是串代码,操作系统会认为一个线程也是一个内核,有点欺骗操作系统的感觉。

    如果操作系统说我的cpu有四核,这时我们要提高警惕,是真四核还是四线程(假四核)。

    这是我的台式机windows7:

    任务管理器显示有4核。

    设备管理器显示依然为4核 

    我百度了一下:

    原来我的电脑是假四核。

     

    其实windows有一个命令是可以查看的:

    在cmd命令中输入“wmic”,回车;然后再输入“cpu get ”。 
    NumberOfCores:表示CPU核心数 
    NumberOfLogicalProcessors:表示CPU线程数 

    修改处理器个数

    物理内核个数是不能修改的,但是假内核个数是可以修改的:

    处理器个数修改成3,保存重启电脑。

    任务管理器中已经改变:

    设备管理器未发生改变:

     

    如何禁用超线程技术

    Hyper-Threading是Intel微处理器采用的一种技术,这种技术能够让微处理器在操作系统和应用程序中的性能表现的类似于两个处理器一样。

    BIOS,找到   Hyper-Threading选项设置成disable

    保存设置,启动电脑。

     

    任务管理器发生了变化:

    设备管理器也发生了变化:

     

    在window10系统中查看着些参数变的十分简单: 

    打开任务管理器

     

    展开全文
  • 随着科技的发展进步,各类电脑CPU处理器的核心也逐渐增多,如何才能更好地优化设置以提高电脑的整体运行性能呢?对于目前逐渐广泛使用的win7系统,对多核CPU有着良好的支持,可以通过适当的设置来更好的提升电脑的...

    随着科技的发展进步,各类电脑CPU处理器的核心数也逐渐增多,如何才能更好地优化设置以提高电脑的整体运行性能呢?对于目前逐渐广泛使用的win7系统,对多核CPU有着良好的支持,可以通过适当的设置来更好的提升电脑的处理速度和CPU性能。具体操作步骤如下:


    详情请参考:点击打开链接

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

    原文地址:https://www.cnblogs.com/kimsimple/p/7787018.html

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

     

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

    CPU个数即CPU芯片个数

    CPU的核心数是指物理上,也就是硬件上存在着几个核心。比如,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU核心单元组。

    线程数是一种逻辑的概念,简单地说,就是模拟出的CPU核心数。比如,可以通过一个CPU核心数模拟出2线程的CPU,也就是说,这个单核心的CPU被模拟成了一个类似双核心CPU的功能。我们从任务管理器的性能标签页中看到的是两个CPU。 比如Inte l赛扬G460是单核心,双线程的CPU,Intel 酷睿i3 3220是双核心 四线程,Intel 酷睿i7 4770K是四核心 八线程 ,Intel 酷睿i5 4570是四核心 四线程等等。 对于一个CPU,线程数总是大于或等于核心数的。一个核心最少对应一个线程,但通过超线程技术,一个核心可以对应两个线程,也就是说它可以同时运行两个线程。 

    CPU的线程数概念仅仅只针对Intel的CPU才有用,因为它是通过Intel超线程技术来实现的,最早应用在Pentium4上。如果没有超线程技术,一个CPU核心对应一个线程。所以,对于AMD的CPU来说,只有核心数的概念,没有线程数的概念。 

    CPU之所以要增加线程数,是源于多任务处理的需要。线程数越多,越有利于同时运行多个程序,因为线程数等同于在某个瞬间CPU能同时并行处理的任务数。 因此,线程数是一种逻辑的概念,简单地说,就是模拟出的 CPU 核心数。一个核心最少对应一个线程,但英特尔有个超线程技术可以把一个物理线程模拟出两个线程来用,充分发挥 CPU 性能,即一个核心可以有两个到多个线程。

    设计决定,intel给他的x86设计了逻辑线程=2*物理核心数,ibm的power8是逻辑线程=8*物理核心数

    Hyper-Threading,超线程

     


     

    多核CPU

     多核心cpu主要分原生多核和封装多核。
      原生多核指的是真正意义上的多核,最早由AMD提出,每个核心之间都是完全独立的,都拥有自己的前端总线,不会造成冲突,即使在高负载状况下,每个核心都能保证自己的性能不受太大的影响,通俗的说,原生多核的抗压能力强,但是需要先进的工艺,每扩展一个核心都需要很多的研发时间。
      封装多核是只把多个核心直接封装在一起,比如Intel早期的PD双核系列,就是把两个单核直接封装在一起,但两核心只能共同拥有一条前端总线,在两个核心满载时,两个核心会争抢前端总线,导致性能大幅度下降,所以早期的PD被扣上了“高频低能”的帽子,要提高封装多核的性能,在多任务的高压下尽量减少性能损失,只能不断的扩大前端总线的总体大小,来弥补多核心争抢资源带来的性能损失,但这样做只能在一定程度上弥补性能的不足,和原生的比起来还是差了很多,而且后者成本比较高,优点在于多核心的发展要比原生快的多。

     

    核心(Die)又称为内核,是CPU最重要的组成部分。CPU中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、接受/存储命令、处理数据都由核心执行。各种CPU核心都具有固定的逻辑结构一级缓存二级缓存、执行单元、指令级单元和总线接口逻辑单元都会有科学的布局。

    双内核应该具备两个物理上的运算内核

    HT技术超线程技术,是造就了PENTIUM 4的一个辉煌时代的武器,尽管它被评为失败的技术,但是却对P4起一定推广作用,双核心处理器是全新推出的处理器类别;HT技术是在处理器实现2个逻辑处理器,是充分利用处理器资源,双核心处理器是集成2个物理核心,是实际意义上的双核心处理器。

    多核心处理器(英语:Multi-core processor),又称多核心微处理器,是在单个计算组件中,加入两个或以上的独立实体中央处理单元(简称核心,英语:Core)。这些核心可以分别独立地运行程序指令,利用并行计算的能力加快程序的运行速度。只有两个核心的处理器,称为双核心处理器(dual-core processor)。“多核心”通常是对于中央处理器(Central Processing Unit,CPU)而论的,但是某些时候也指数字信号处理器(DSP)和系统芯片(SoC)。

    通常,把将两个或更多独立处理器封装在一个单一集成电路(IC)中的方案称为多核心处理器;而封装在不同IC中的独立处理器形成的计算机系统被称为多处理器

    多核心处理器!=多处理器

    多核心处理器可以在不将每个核心分别独立物理封装的情况下进行多任务处理(线程级并发处理Thread-Level Parallelism,TLP),这种形式的TLP通常被认为是芯片级多处理)。

     


    单核多CPU与多核单CPU

    一台计算机的处理器部分的架构

    单核多CPU,那么每一个CPU都需要有较为独立的电路支持,有自己的Cache,而他们之间通过板上的总线进行通信。(一致性问题)

    假如在这样的架构上,我们要跑一个多线程的程序(常见典型情况),不考虑超线程,那么每一个线程就要跑在一个独立的CPU上,线程间的所有协作都要走总线,而共享的数据更是有可能要在好几个Cache里同时存在。这样的话,总线开销相比较而言是很大的,怎么办?那么多Cache,即使我们不心疼存储能力的浪费,一致性怎么保证?

    多核单CPU,那么我们只需要一套芯片组,一套存储,多核之间通过芯片内部总线进行通信,共享使用内存。在这样的架构上,如果我们跑一个多线程的程序,那么线程间通信将比上一种情形更快。

     

    多个CPU常见于分布式系统,用于普通消费级市场的不多,多用于cluster,云计算平台什么的。多CPU架构最大的瓶颈就是I/O,尤其是各个CPU之间的通讯,低成本的都用100M以太网做,稍微好一点的用1000M以太网,再好的就用光纤等等,但无论如何速度和通量都比不上主板的主线。所以多CPU适用于大计算量,对速度(时间)不(太)敏感的任务,比如一些工程建模,或者像SATI找外星人这种极端的,跑上几千年都不着急的。而且多CPU架构更简单清晰,可以用消费级产品简单做数量堆叠,成本上有优势。而多核单CPU则适合对通讯I/O速度要求较快的应用,(相同核数量下)成本上也高一些,好像只有在超级计算机里会用到以万为单位的核心数,普通消费级产品也就是到16核封顶了,因为成本控制的原因。

     

     


    附 - 获取CPU逻辑核个数的代码

    在Windows中,在cmd命令中输入“wmic”,然后在出现的新窗口中分别输入“cpu get Name”,“cpu get NumberOfCores”,“cpu get NumberOfLogicalProcessors”即可查看物理CPU数、CPU核心数、线程数。
    如下图所示:

    Name:表示物理CPU数 
    NumberOfCores:表示CPU核心数 
    NumberOfLogicalProcessors:表示CPU线程数
    注释:VM虚拟机中的CPU选择的核心数实际是代表线程数。

    输入“cpu get *”也可

    2.在cmd命令中输入“systeminfo”,以下信息表示物理CPU有两个

       

     

    另外,获取CPU逻辑核数(线程数),使用GetLogicalProcessorInformation API(url:https://docs.microsoft.com/zh-cn/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getlogicalprocessorinformation),但该函数只支持到XP SP3版本,之前的windows系统则不支持!最新在线MSDN上的给的示例代码:(VS2008自带的MSDN上的示例代码较老,使用在线最新版本的MSDN上的代码)

    #include <windows.h>
    #include <malloc.h>    
    #include <stdio.h>
    #include <tchar.h>
    
    typedef BOOL (WINAPI *LPFN_GLPI)(
        PSYSTEM_LOGICAL_PROCESSOR_INFORMATION, 
        PDWORD);
    
    
    // Helper function to count set bits in the processor mask.
    DWORD CountSetBits(ULONG_PTR bitMask)
    {
        DWORD LSHIFT = sizeof(ULONG_PTR)*8 - 1;
        DWORD bitSetCount = 0;
        ULONG_PTR bitTest = (ULONG_PTR)1 << LSHIFT;    
        DWORD i;
        
        for (i = 0; i <= LSHIFT; ++i)
        {
            bitSetCount += ((bitMask & bitTest)?1:0);
            bitTest/=2;
        }
    
        return bitSetCount;
    }
    
    int _cdecl _tmain ()
    {
        LPFN_GLPI glpi;
        BOOL done = FALSE;
        PSYSTEM_LOGICAL_PROCESSOR_INFORMATION buffer = NULL;
        PSYSTEM_LOGICAL_PROCESSOR_INFORMATION ptr = NULL;
        DWORD returnLength = 0;
        DWORD logicalProcessorCount = 0;
        DWORD numaNodeCount = 0;
        DWORD processorCoreCount = 0;
        DWORD processorL1CacheCount = 0;
        DWORD processorL2CacheCount = 0;
        DWORD processorL3CacheCount = 0;
        DWORD processorPackageCount = 0;
        DWORD byteOffset = 0;
        PCACHE_DESCRIPTOR Cache;
    
        glpi = (LPFN_GLPI) GetProcAddress(
                                GetModuleHandle(TEXT("kernel32")),
                                "GetLogicalProcessorInformation");
        if (NULL == glpi) 
        {
            _tprintf(TEXT("\nGetLogicalProcessorInformation is not supported.\n"));
            return (1);
        }
    
        while (!done)
        {
            DWORD rc = glpi(buffer, &returnLength);
    
            if (FALSE == rc) 
            {
                if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) 
                {
                    if (buffer) 
                        free(buffer);
    
                    buffer = (PSYSTEM_LOGICAL_PROCESSOR_INFORMATION)malloc(
                            returnLength);
    
                    if (NULL == buffer) 
                    {
                        _tprintf(TEXT("\nError: Allocation failure\n"));
                        return (2);
                    }
                } 
                else 
                {
                    _tprintf(TEXT("\nError %d\n"), GetLastError());
                    return (3);
                }
            } 
            else
            {
                done = TRUE;
            }
        }
    
        ptr = buffer;
    
        while (byteOffset + sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION) <= returnLength) 
        {
            switch (ptr->Relationship) 
            {
            case RelationNumaNode:
                // Non-NUMA systems report a single record of this type.
                numaNodeCount++;
                break;
    
            case RelationProcessorCore:
                processorCoreCount++;
    
                // A hyperthreaded core supplies more than one logical processor.
                logicalProcessorCount += CountSetBits(ptr->ProcessorMask);
                break;
    
            case RelationCache:
                // Cache data is in ptr->Cache, one CACHE_DESCRIPTOR structure for each cache. 
                Cache = &ptr->Cache;
                if (Cache->Level == 1)
                {
                    processorL1CacheCount++;
                }
                else if (Cache->Level == 2)
                {
                    processorL2CacheCount++;
                }
                else if (Cache->Level == 3)
                {
                    processorL3CacheCount++;
                }
                break;
    
            case RelationProcessorPackage:
                // Logical processors share a physical package.
                processorPackageCount++;
                break;
    
            default:
                _tprintf(TEXT("\nError: Unsupported LOGICAL_PROCESSOR_RELATIONSHIP value.\n"));
                break;
            }
            byteOffset += sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION);
            ptr++;
        }
    
        _tprintf(TEXT("\nGetLogicalProcessorInformation results:\n"));
        _tprintf(TEXT("Number of NUMA nodes: %d\n"), 
                 numaNodeCount);
        _tprintf(TEXT("Number of physical processor packages: %d\n"), 
                 processorPackageCount);
        _tprintf(TEXT("Number of processor cores: %d\n"), 
                 processorCoreCount);
        _tprintf(TEXT("Number of logical processors: %d\n"), 
                 logicalProcessorCount);
        _tprintf(TEXT("Number of processor L1/L2/L3 caches: %d/%d/%d\n"), 
                 processorL1CacheCount,
                 processorL2CacheCount,
                 processorL3CacheCount);
        
        free(buffer);
    
        return 0;
    }

    对于XP SP3之前的系统,则只能使用GetSystemInfo API来获取了。现在基本上都是XPSP3及以上的系统了。

    另外,在MSDN上对SYSTEMINFO结构体的说明中也提到,要获取CPU逻辑核的个数,要使用GetLogicalProcessorInformation:

    结构体中关于dwNumberOfProcessors字段的说明:

    展开全文
  • 线程池大小设置CPU核心的关系

    千次阅读 2019-12-28 15:57:16
    常见概念:CPU的核心CPU的线程3.是否使用线程池就一定比使用单线程高效呢? 1.线程池和CPU核心的关系 一般说来,大家认为线程池的大小经验值应该这样设置:(其中N为CPU processors的个数) (1)如果是CPU...
  • 如何根据CPU数进行线程数设置

    千次阅读 2019-02-20 11:37:09
    通常我们设置程序线程池的时候都会想,怎么设置参数好?太大了支撑不起,太小了浪费资源,怎么样最大化利用线程? 一般说来,大家认为线程池的大小经验值应该这样设置:(其中n为CPU的个数) 如果是CPU密集...
  • # 总逻辑CPU数 = 物理CPU数 X 每颗物理CPU的核数 X 超线程数   # 查看物理CPU数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 2 # 查看每物理CPU中core的个数(即核数) cat /...
  • ubuntu 查询cpu个数

    千次阅读 2018-10-31 16:45:00
    cat /proc/cpuinfo |grep 'processor' |wc -l
  • 在我们平时的编码过程中,有时候会想到用多线程来提升程序的性能,那么什么时候用多线程,多线程的线程应该设置为多少比较好,这就需要根据具体的需求来设置,这里,主要分为CPU密集型和IO密集型的任务。...
  • 笔记本更换固态后发烫,不想使用散热器,以下方法教你限制cpu运行功率上限,让CPU减负。 1.打开控制面板----->电源选项---->更改计划设置---->更改高级电源设置 在新弹出的窗口中找到《处理器电源管理》-&...
  • CPU核心与线程详解

    千次阅读 2020-03-29 21:58:42
    CPU就是中央处理单元,物理CPU数就是CPU的硬件数(socket)。 核心: 一开始,每物理 cpu 上只有一核心(a single core),对操作系统而言,也就是同一时刻只能运行一进程/线程。 为了提高性能,cpu ...
  • windows修改电脑处理器个数利弊

    千次阅读 2021-05-20 11:19:18
    前段时间在抖音上面刷到一视频,说想要提高cpu性能就设置处理器个数,因为工作需要,cpu经常报红,昨天就试了下,结果导致电脑卡死 1、设置处理器个数步骤: 按住windows+R,输入msconfig打开系统配置 问题...
  • C#获取CPU个数

    千次阅读 2015-03-16 17:39:03
    首先添加引用 #region Using directives using System; using System.Collections.Generic;... CpuInfo.dwNumberOfProcessors.ToString() + "个CPU"; Console.WriteLine(Text); Console.ReadKey(); } } }
  • 线程池应该设置多少线程合适,怎么样估算出来。最近接触到一些相关资料,现作如下总结。...IO密集型CPU密集型简单的分析来看,如果是CPU密集型的任务,我们应该设置数目较小的线程数,比如CPU数...
  • 线程数设置技巧——与CPU的关系

    千次阅读 2018-12-17 12:58:15
    1、如果是CPU密集型应用,则线程池大小设置为N+1 2、如果是IO密集型应用,则线程池大小设置为2N+1(因为io读数据或者缓存的时候,线程等待,此时如果多开线程,能有效提高cpu利用率) (其中N为CPU的个数) 如果一台...
  • 释放windows预留内存,增加在用CPU个数提高整机性能 windows系统更新后或重装后,会预留一部分内存(大概2G)。如果本机内存比较小,这就很伤。而且,默认系统使用1个CPU在跑,这样计算的速度就非常慢。总之,不...
  • 我的电脑有2个cpu,但是我在使用并行程序时,只可以使用其中一,换了其他的程序也只能利用一个cpu,请问如何解决?是系统设置的问题吗? 我是采用多线程的,我用了mpich这并行程序,我原来的服务器是24核48线程...
  • 电脑CPU性能调到最大的三种方法如果把电脑比作人,CPU就是的大脑,其主要功能是对系统操作指令进行算术和逻辑运算。把电脑CPU性能调到最大,能使系统运行速度变快。今天dengb.com小编带来了三种解决方法,具体的教程...
  • 此时假设我们设置的线程数量是 CPU 核心的 2 倍以上,因为计算任务非常重,会占用大量的 CPU 资源,所以这时 CPU 的每核心工作基本都是满负荷的,而我们又设置了过多的线程,每线程都想去利用 CPU 资源来执行...
  • Mac电脑如何查看CPU、操作系统和内存1、查看CPUsysctl -n machdep.cpu.brand_string2、查看核数system_profiler | grep processor3、查看内存top -l 1 | head -n 10 | grep PhysMem4、查看操作系统more /System/...
  • 我们在选购电脑的时候,CPU是一需要考虑到核心因素,因为它决定了电脑的性能等级。CPU从早期的单核,发展到现在的双核,多核。CPU除了核心之外,还有线程之说,下面笔者就来解释一下CPU的核心与线程的关系...
  • 论游戏电脑CPU和GPU之搭配

    千次阅读 2018-11-16 13:23:46
    论游戏电脑CPU和GPU之搭配
  • 1、于是测了一下cpu的温度,70多度,自己电脑的键盘有烫手的感觉,我电脑散热一直不是很好,就一风扇 2、自己的风扇声特别大(当初没注意到这问题) 3。重新更新了显卡驱动,依旧没有改变 4、改...
  • Linux下cpu数,核心数,线程数的关系

    千次阅读 2017-09-11 14:29:23
     我们在选购电脑的时候,CPU是一需要考虑到核心因素,因为它决定了电脑的性能等级。CPU从早期的单核,发展到现在的双核,多核。CPU除了核心之外,还有线程之说,下面笔者就来解释一下CPU的核心与线程的...
  • 华硕主板超频设置图解电脑的超频就是通过计算机操作者的'超频方式将CPU、显卡、内存等硬件的工作频率提高,下面是小编为大家带来的华硕主板超频设置图解,希望对大家有所帮助。华硕主板超频设置图解首先,切换语言,...
  • Docker 容器CPU设置

    千次阅读 2018-12-12 20:52:00
    使用率越高,说明你的机器在这时间上运行了很多程序,反之较少。CPU使用率的高低与你的CPU强弱有直接关系。 Docker CPU 限制;Docker 的资源限制和隔离完全基于 Linux cgroups。对 CPU 资源的限制方式也和 ...
  • 关于虚拟机中cpu“cores"个数的问题

    千次阅读 2020-04-11 12:00:21
    在Linux系统中,如何详细了解CPU的信息呢? 当然是通过cat /proc/cpuinfo来检查了,但是比如几物理CPU/几核/几线程,这些...经过查看,我的开发机器是1物理CPU,4核8线程,Intel(R) Core(TM) i7 CPU 860 @...
  • 2021DIY电脑配置入门篇(包含各cpu显卡天梯图对比)

    千次阅读 多人点赞 2021-06-19 09:45:55
    下载个电脑管家等电脑助手软件也可以查看详细配置 如何DIY自己的第一台电脑 篇幅有限,这里我只详细分析一台电脑的核心配置(CPU、主板、显卡),外加内存 定好预算 对于电脑来说,预算是最重要的!没有预算,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,343
精华内容 24,937
关键字:

怎么设置电脑cpu个数