最早,每个物理 cpu 上只有一个核心,对操作系统而言,也就是同一时刻只能运行一个进程/线程。 为了提高性能,cpu 厂商开始在单个物理 cpu 上增加核心(实实在在的硬件存在),也就出现了多核 cpu,这样一个多核 cpu 就是同一时刻能够运行多个进程/线程的。
随着科技的发展,我们发现每个内核的性能也变的十分强大,于是一个内核又被分成两个线程。但是,我们要注意的是,一个cpu分成多个内核,这是物理的分隔,拆开cpu是可以看到的;但是一个内核被分成两个线程是一种超线程技术,操作系统会认为一个线程也是一个内核,有点欺骗操作系统的感觉。
所以假如操作系统说你的cpu有四核,这时我们要提高警惕,是真四核还是四线程(假四核)。
如上图其实就是假4核,其实是2核4线程。
linux下使用lscpu命令,可以看到:
这张图的cpu信息是:
1个物理cpu,6个核心,每个核心2线程,所以总共 12个线程(处理器)。
这张图的cpu信息是:
2个物理cpu,每个cpu 16核,每个核2个线程,所以总共64个线程(处理器)。