超线程
将一个物理cpu当作两个逻辑cpu使用,使cpu可以同时执行多线程,从而发挥更大的效率。
一般可以使处理器的处理能力提高30%。对于单线程芯片来说,每秒可以处理成千上万条指令,但在某一时刻,其只能对一条指令进行处理,这就会处理器内部的其他处理单元闲置。超线程就是将闲置的处理单元运用了起来,例如,当一个逻辑处理器在执行浮点运算时,另一个逻辑处理器可以执行加法运算。需要指出的是,超线程仅在多任务处理时有优势,在进行单任务处理时,优势体现不出来,而且因为打开了超线程,处理器内部缓存就会被划分成几个区域,互相共享内部资源,反而会造成单个的子系统性能下降。
双核
在一个处理器上集成两个运算核心,从而提高计算能力。
双核心技术可以理解为两个“物理”处理器,是一种“硬”的方式;而超线程只是两个“逻辑”处理器,是一种“软”的方式。
双核处理器能实实在在地实现并行处理模式,它的效率和性能提升要比超线程技术高得多。但是,并不能达到1+1=2的效果,也就是说双核处理器并不会比同频率的单核处理器提高一倍的性能。
如何查看linux是否支持超线程
使用命令
cat proc/cpuinfo
示例1
processor : 0
physical id : 1
siblings : 4
core id : 0
cpu cores : 4
processor : 1
physical id : 1
siblings : 4
core id : 1
cpu cores : 4
processor : 2
physical id : 1
siblings : 4
core id : 9
cpu cores : 4
processor : 3
physical id : 1
siblings : 4
core id : 4
cpu cores : 4
processor : 4
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
processor : 5
physical id : 0
siblings : 4
core id : 1
cpu cores : 4
processor : 6
physical id : 0
siblings : 4
core id : 9
cpu cores : 4
processor : 7
physical id : 0
siblings : 4
core id : 4
cpu cores : 4
processor:表示逻辑cpu的个数,0~7,共8个逻辑cpu;
physical id:表示物理cpu的ip,0~1,共有两个物理cpu;
core id:核id;
siblings :该物理cpu包含的个逻辑cpu的个数;
cpu cores:cpu的核数;
每个物理cpu的core id都不一样,可知不支持超线程或者超线程未开启。