多核与进程线程关系

查看整体cpu和内存信息:

top

查看整体cpu信息

lscpu

查看每个核的使用情况

mpstat -P ALL 1

充分利用cpu性能必须,了解并行与并发之间的区别:
并发是指多个指令交叉执行,整体来看似乎是一起执行的。并行是指在不同核里同时执行。 比如聊着一遍微信,一遍听着歌。从整体来看是同时的,但他们可能是在cpu中交叉进行的,cpu可以区分0.25ns的指令操作,所以他们交叉进行,在用户看来像是并行,但其实是并发。
多余进程来说无法做到并行,多个进程之间只能并发,无论是否多核。
多线程是可以做到并行的,每个核可以独立处理一个线程。

查看cpu个数:

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

查看核数:

cat /proc/cpuinfo |grep 'core id'|sort -u|wc -l

查看支持的线程数:

cat /proc/cpuinfo |grep 'processor'|sort -u|wc -l

或者用下面的方式查看:
lscpu执行如下
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7 //注:总共几个线程
Thread(s) per core: 2 //注:每个核线程数
Core(s) per socket: 4 //注:4个核
座: 1
NUMA 节点: 1
厂商 ID: GenuineIntel
CPU 系列: 6
型号: 94
型号名称: Intel® Core™ i7-6700 CPU @ 3.40GHz
步进: 3
CPU MHz: 1999.865
CPU max MHz: 4000.0000
CPU min MHz: 800.0000
BogoMIPS: 6816.00
虚拟化: VT-x
L1d 缓存: 32K
L1i 缓存: 32K
L2 缓存: 256K
L3 缓存: 8192K
NUMA 节点0 CPU: 0-7

猜你喜欢

转载自blog.csdn.net/weixin_43466192/article/details/121902156
今日推荐