CPU、核心数、线程数、运行内存、超线程理解

一、CPU和运行内存的关系

CPU是负责运算和处理的,内存是交换数据的,没有内存,CPU就没法接收到数据。

内存是计算机与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。

cpu一般是银白色的薄薄的,反面有针脚的小方块:

CPU、核心数、线程数、运行内存、超线程理解_第1张图片

CPU、核心数、线程数、运行内存、超线程理解_第2张图片

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

对cpu的描述有这几种:“双核”、“双核四线程”、“四核”、“四核四线程”、“四核八线程”……。

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

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


三、Linux下查看CPU信息

1、命令

   cat   /proc/cpuinfo

2、参数说明

processor         逻辑处理器的id。
physical id       物理封装的处理器的id。
core id           每个核心的id。(有时候两个cpu中的core id会相同)
cpu cores         位于相同物理封装的处理器中的内核数量。
siblings          位于相同物理封装的处理器中的逻辑处理器的数量。

3、实例

cat  /proc/cpuinfo  |  grep  'cpu  cores'  |  sort|uniq
4

cat  /proc/cpuinfo  |  grep  'physical  id'  |  sort|uniq
0
1

cat  /proc/cpuinfo  |  grep  'core id'  |  sort|uniq
0
1
10
11
2
3
8
9

cat  /proc/cpuinfo  |  grep  'siblings'  |  sort|uniq
8

cat  /proc/cpuinfo  |  grep  'processor'  |  sort|uniq
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

在这个服务器上,'cpu cores' 为4,physical id 有两个,core id有8个,siblings的值为8,总共有16个processor。

所以这个服务器主机的CPU为2个物理封装的处理器,每个处理器又有4个处理核心(cpu cores),每个cpu core有可划分为2个逻辑处理器(超线程技术),因此,每个物理处理器上有8个逻辑处理器,总共就有16个processor。这回明白了吧。大体的结构如下图:

CPU、核心数、线程数、运行内存、超线程理解_第3张图片

四、Linux使用Top命令查看cpu使用率超出100%情况

通过在top的情况下按大键盘的1,查看的cpu的核数为4核。

CPU、核心数、线程数、运行内存、超线程理解_第4张图片

发现top命令显示的是你的程序占用的cpu的总数,也就是说如果你是4核cpu那么cpu最高占用率可达400%,top里显示的是把所有使用率加起来

注意:如果核数比较多,页面有可能显示不全,可以试着调小字体尽量显示全;

摘自:

https://blog.csdn.net/hong10086/article/details/81633669

https://blog.csdn.net/sycflash/article/details/6643492

https://www.cnblogs.com/duhuo/p/6065921.html

https://zhidao.baidu.com/question/622441336336043572.html

你可能感兴趣的:(CPU,CPU,核心数,内存,超线程)