物理CPU

物理CPU: 物理CPU是指插在主板上面的CPU芯片。即指在主板上肉眼能看到的CPU的个数。一般而言,个人台式机或笔记本上只会有一个物理CPU芯片。而服务器主板上往往有多个物理CPU。

Linux查看物理CPU数量

一般而言,物理CPU个数可以通过 physical id来判别。physical id:CPU的物理封装的编号,从0开始依次编码;

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

在VMware下面,这个指虚拟插槽数,其实也是对应的物理CPU数量。这个涉及CPU的虚拟化技术。

Windows查看物理CPU数量

 

  

Windows平台可以可以用工具CPU-Z,对应的Socket就是主板上插CPU的槽的数目,也就是可以插入的物理CPU的个数。

 

2:使用wmic命令查看

如下所示,这个服务器是VMware下面分配了三个插槽,意味这个三个虚拟插槽数。代表三个物理CPU

CPU核数

 

物理核

一块CPU上面能处理数据的芯片组的数量,例如,日常中说的双核,四核就是指的CPU核心。

Linux系统:

Linux系统可以通过cpu cores或core id来查看物理核数。

cpu cores: 每个物理封装上的物理核心数目;

core id:  当前物理核心在物理封装上的编号

[root@DB-Server ~]# cat /proc/cpuinfo | grep "cpu cores" | uniq

cpu cores       : 2

[root@DB-Server ~]# cat /proc/cpuinfo | grep 'core id' | sort | uniq | wc -l

2

[root@DB-Server ~]# cat /proc/cpuinfo | grep -E "physical id|cpu cores" | sed 'N;s/\n/ /' | sort | uniq

physical id     : 0 cpu cores   : 2

[root@DB-Server ~]# 

 

 

 

[root@mylnx14 ~]# cat /proc/cpuinfo | grep "cpu cores" | uniq

cpu cores       : 2

[root@mylnx14 ~]# cat /proc/cpuinfo | grep 'core id' | sort | uniq | wc -l

2

[root@mylnx14 ~]# cat /proc/cpuinfo | grep -E "physical id|cpu cores" | sed 'N;s/\n/ /' | sort | uniq

physical id     : 0 cpu cores   : 2

physical id     : 1 cpu cores   : 2

physical id     : 2 cpu cores   : 2

physical id     : 3 cpu cores   : 2

Windows平台:

wmic命令查看,如下所示:

逻辑核(逻辑CPU)

CPU的逻辑核也叫逻辑CPU,它只用SMT技术将物理核虚拟而成的逻辑处理单元。CPU逻辑核是超线程技术下的产物,如果没有超线程技术,有多少颗物理CPU核心,OS就认为有多少颗CPU;OS是依据CPU的外部接口来识别CPU数据,而不是依据CPU的实际内部构造;所以超线程技术会使OS识别出更多颗CPU.如下所示:

Linux 平台:

查看每个物理封装下逻辑cpu的数目,可以通过siblings来查看。siblings:  每个物理封装上的逻辑核心数目;

[root@DB-Server ~]# cat /proc/cpuinfo | grep "cpu cores" | uniq

cpu cores       : 2

[root@DB-Server ~]# cat /proc/cpuinfo |grep "siblings" | uniq

siblings        : 4

 

[root@mylnx14 ~]# cat /proc/cpuinfo |grep "siblings" |uniq

siblings        : 2

Windows 平台:

 

虚拟CPU(vCPU)

虚拟CPU是我们在做虚拟化时候,利用虚拟化技术,虚拟出来的CPU。一个物理CPU可划分成多个虚拟CPU使用。论vCPU离不开VM,因此vCPU的讨论都是在虚拟化时候,划分CPU才会讨论的问题。

如下VMware Sphere 5下截图所示,主机有2个物理CPU,每个物理CPU包含14个物理核,这样就可以虚拟出28个逻辑处理器。

超线程

一个CPU核就是一个物理线程,由英特尔开发超线程技术可以把一个物理线程模拟出两个线程来使用,使得单个核心用起来像两个核一样,以充分发挥CPU的性能。

参考资料:

http://blog.csdn.net/hittata/article/details/47757161

关于服务器的CPU的几个概念学习总结的更多相关文章

  1. 闰秒导致MySQL服务器的CPU sys过高

    今天,有个哥们碰到一个问题,他有一个从库,只要是启动MySQL,CPU使用率就非常高,其中sys占比也比较高,具体可见下图. 注意:他的生产环境是物理机,单个CPU,4个Core. 于是,他抓取了CP ...

  2. 全面了解 Linux 服务器 - 1. 查看 Linux 服务器的 CPU 详细情况

    1. 查看 Linux 服务器的 CPU 详细情况 判断依据: 具有相同的 core id 的 CPU 是同意个 core 超线程. 具有相同的 physical id 的 CPU 是同一个 CPU ...

  3. PHP 获取linux服务器性能CPU、内存、硬盘、进程等使用率

    数据库配置文件: conn.php <?php define("MONITORED_IP", "172.16.0.191"); //被监控的服务器IP地址 ...

  4. 云计算之路-阿里云上:14:20-14:55博客后台2台服务器都CPU 100%引发的故障

    非常抱歉,今天下午14:20-14:55期间,由于同一个负载均衡中的2台服务器都出现CPU 100%问题,造成博客后台无法正常访问,由此给您带来了很大很大的麻烦,请您谅解. 博客后台是CPU消耗很低的 ...

  5. 云计算之路-阿里云上:博客web服务器轮番CPU 100%

    今天下午14:30左右开始,不知道怎么回事,博客站点负载均衡中的web服务器轮番CPU 100%.平时访问高峰5台服务器就能稳稳支撑,而今天发现CPU出现100%问题后就开始加服务器,结果到目前加到了 ...

  6. 如何规划和选择数据库服务器:CPU、内存、磁盘、网络(转)

    转自:http://blog.chinaunix.net/uid-5715-id-2734517.html 学习如何根据业务模型来计算tpcc值,挺有帮助的. 当一个新的业务系统开发完成后,需要在一个 ...

  7. ubuntu下查看服务器的CPU详细情况

    https://www.cnblogs.com/liuq/p/5623565.html 全面了解 Linux 服务器 - 1. 查看 Linux 服务器的 CPU 详细情况 ubuntu下查看服务器的 ...

  8. 怎么查看服务器的cpu和内存的硬件信息

    在linux 下怎么查看服务器的cpu和内存的硬件信息     可以按照如下方式进行操作: 一.查看cpu总个数方法: 1.首先执行top命令,如下图中内容所表示. 2.在top命令的显示界面,按数字 ...

  9. 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记》[转]

    转载地址:http://bbs.chinaunix.net/archiver/tid-1823500.html 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 ...

随机推荐

  1. ulua c#调用lua中模拟的类成员函数

    项目使用ulua,我神烦这个东西.lua单纯在lua环境使用还好,一旦要跟外界交互,各种月经不调就来了.要记住贼多的细节,你才能稍微处理好.一个破栈,pop来push去,位置一会在-1,一会在-3,2 ...

  2. Spring MVC的DispatcherServlet

    Spring MVC提供了一个名为org.springframework.web.servlet.DispatcherServlet的Selvet充当前端控制器,所有的请求驱动都围绕这个Dispatc ...

  3. c# Char && string

    char 支持的方法 字符串 声明字符串 String str = [null]; 可以用此方法声明一个空字符串   连接字符串 str +"" + str1; 比较两个字符串 C ...

  4. 安装Mercurial进行版本管理

    mercurial是又一个去中心化的版本管理软件,类似git 先介绍如何安装mercurial yum -y install mercurial mercurial需要一个用户名来记录commit动作 ...

  5. ABP官方文档翻译 5.4 SwaggerUI集成

    SwaggerUI集成 介绍 ASP.NET Core 安装Nuget包 配置 测试 ASP.NET 5.x 安装Nuget包 配置 测试 介绍 在它的网站上:“...使用Swagger可用的API, ...

  6. Eclipse导入servlet项目报错

    Eclipse导入servlet项目,缺少servlet的jar包,导致项目报错. 解决: step1:选中项目->properties step2:选择的Targeted Runtimes s ...

  7. 【三思笔记】 全面学习Oracle分区表及分区索引

    [三思笔记]全面学习Oracle分区表及分区索引 2008-04-15 关于分区表和分区索引(About PartitionedTables and Indexes) 对于 10gR2 而言,基本上可 ...

  8. AutoDesk Forge 获取令牌认证

    创建应用程序 在开始使用Forge Platform之前,您需要设置一个应用程序并获取您的客户端ID和密码. 步骤1:登录Dev Portal 去开发门户网站:https://developer.au ...

  9. django-rest-framework之请求与响应

    前言:在上一篇文章,已经实现了访问指定URL就返回了指定的数据,这也体现了RESTful API的一个理念,每一个URL代表着一个资源.当然我们还知道RESTful API的另一个特性就是,发送不同的 ...

  10. 移植cjson到windows下编译

    #起因 在工作过程中发现需要让Lua支持json库,如果直接用lua版本的json解析器的话效率不够高,所以找了一个用C实现的json库--cjson,据说此库比lua版本的效率高10-20倍.但是c ...