电脑怎样能装2个CPU?

电脑怎样能装2个CPU?,第1张

可以,只要满足3个要求:

1.主板有两个处理器接口,支持多处理器共同工作或者说支持多CPU或多核CPU技术。我记得华擎曾经有一块主板板载了AMD和INTEL两种CPU插槽,但是同时只能有一颗CPU工作,这种就不算。

2.CPU必须支持多CPU或者多路CPU。这一般只有服务器处理器才能满足,桌面级处理器都是不支持的,比如至强X3110和E8400的参数完全一样,但是X3110就支持多CPU技术,可以在板载两个775插槽的服务器主板上插两颗共同工作,而E8400则不行,即使插2颗在同样的主板上,也同时只能有一颗在工作。

3. *** 作系统支持,据我所知,目前只有WINDOWS SERVER家族 *** 作系统或者UNIX以及LINUX支持多CPU技术,主流的WINXP,VISTA甚至WIN7都应该是不支持多CPU的,这个时候即使你的主板和CPU都满足要求,由于 *** 作系统只能识别一颗CPU,所以实际上同时仍然只有1颗CPU在工作。

首先为大家演示1个CPU的情况,这种情况最简单。

CPU的信息存放在/proc/cpuinfo中,如下图所示,physical id代表第几个CPU,编号从0开始,cpu cores 代表核数,可以看出是1颗1核的CPU,即CPU个数是1个。

请点击输入图片描述

在我们知道CPU信息具体存放文件后,我们可以简单使用 grep -c 'processor' /proc/cpuinfo来统计CPU个数。

请点击输入图片描述

下面演示下多颗CPU的查询情况,先查看下/proc/cpuinfo看看cpu信息有什么不同。可以看出是2颗4核的CPU,即CPU个数是8个。

请点击输入图片描述

同样,使用grep -c 'processor' /proc/cpuinfo来统计CPU个数。

请点击输入图片描述

也可以使用如下方式单独查询CPU个数、核数及逻辑CPU总数。

注意:总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程

查询CPU个数:

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

查询核数:

cat /proc/cpuinfo| grep "cpu cores"| uniq

查询逻辑CPU总数:

cat /proc/cpuinfo| grep "processor"| wc -l

请点击输入图片描述

最后,给大家介绍下CPU型号的查询方式。

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

请点击输入图片描述

详细Linux命令介绍请看《Linux命令大全》

linux下的单进程多线程的程序,要实现每个线程平均分配到多核cpu,主要有2个方法

1:利用linux系统自己的线程切换机制,linux有一个服务叫做irqbalance,这个服务是linux系统自带的,默认会启动,这个服务的作用就是把多线程平均分配到CPU的每个核上面,只要这个服务不停止,多线程分配就可以自己实现。但是要注意,如果线程函数内部的有某个循环,且该循环内没有任何系统调用的话,可能会导致这个线程的CPU时间无法被切换出去。也就是占满CPU现象,此时加个系统调用,例如sleep,线程所占的CPU时间就可以切换出去了。

2:利用pthread库自带的线程亲和性设置函数,来设置线程在某个CPU核心上跑,这个需要在程序内部实现。同时注意不要和进程亲和性设置搞混淆了

int pthread_setaffinity_np(pthread_t thread, size_t cpusetsize,

const cpu_set_t *cpuset)

int pthread_getaffinity_np(pthread_t thread, size_t cpusetsize, 

cpu_set_t *cpuset)

从函数名以及参数名都很明了,唯一需要点解释下的可能就是cpu_set_t这个结构体了。这个结构体的理解类似于select中的fd_set,可以理解为cpu集,也是通过约定好的宏来进行清除、设置以及判断:

//初始化,设为空

void CPU_ZERO (cpu_set_t *set) 

//将某个cpu加入cpu集中 

void CPU_SET (int cpu, cpu_set_t *set) 

//将某个cpu从cpu集中移出 

void CPU_CLR (int cpu, cpu_set_t *set) 

//判断某个cpu是否已在cpu集中设置了 

int CPU_ISSET (int cpu, const cpu_set_t *set)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7605190.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存