linux 多核与CPUs利用率超过100%问题

图片[1]-linux 多核与CPUs利用率超过100%问题-趣考网

lscpu命令可以查看linux下的cpu的详细信息

图片[2]-linux 多核与CPUs利用率超过100%问题-趣考网

Socket(s):2 表示可以看到的物理上的CPU

Core(s) per socket:14 表示针对每一个物理CPU而言,内部有14个物理核。也就是说,在一个物理CPU内,有14个物理层面的运算器&控制器,它们是实实在在存在的

Thread(s) per core: 由于Intel采用了超线程技术,所以每个物理核对应2个逻辑核

服务器中插有2个物理CPU, 每个物理CPU有14个物理核,每个物理核有2个逻辑核,故总共56个逻辑核。因此,当操作系统俯视CPU硬件时,它看到的是,在计算机中,有56个核,即有56个运算器&控制器。

针对多核的服务器,我们来看看以下程序

cat test.c

#include

int main() {

while(1);

return 0;

}

gcc test.c

然后在终端1上执行a.out, 终端2上执行a.out

图片[3]-linux 多核与CPUs利用率超过100%问题-趣考网

可以看到有2个CPU核利用率是100%

top之后按1

图片[4]-linux 多核与CPUs利用率超过100%问题-趣考网

可以看到CPU17和CPU51这两个逻辑核就是刚才运行的a.out

因此当看到部分CPU的利用率为100%,或者有用过clickhouse的会发现进程占用cpu都达到了800%这样的, 实际上是使用了多个CPU核,这种情况也属于正常。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享