关于Linux命令 cat /proc/cpuinfo

我的电脑是四核八线程CPU i7 4790K,为什么在linux虚拟机中用cat /proc/cpuinfo只显示出一个core id为0,CPU cores为1呢?这样的问题也出现在我的new surface Pro上,surface的CPU是i5 7300U,是两核四线程。

试试看
cat /proc/cpuinfo| grep "cpu cores"| uniq
另外你bios里面是不是把multi core processing或者类似的关掉了。

亲,万分感谢您的问答。但是我试了,还是不行。您这条指令的结果得到的是cpu cores :1
另外我从来没有设置过BIOS,最近刚开始玩Linux,看到这条指令,就试了一下,居然是这种结果,难道我的电脑和surface里都是假的CPU?不过鲁大师
的硬件检测得到的倒都是和商家给出的相符的信息。现在真是不知道哪里出问题了

虚拟机里的CPU是自己设定的,可以设少于自己电脑的CPU数量

首先虚拟机中CPU数目是虚拟化出来的,是你自己设置的,可以增改,你看到了两个 CPU,是因为你配置虚拟机的时候配置了 2个CPU

另外你的 new surface Pro上 CPU 是 i5 7300U,是两核四线程。可以具体看下 cpuinfo 的信息。

#!/bin/bash

#1、 查看物理CPU的个数
physicals=`cat /proc/cpuinfo |grep "physical id" | sort | uniq | wc -l`

#2、  查看逻辑CPU的个数
processors=`cat /proc/cpuinfo | grep "processor" | wc -l`

#3、 查看CPU是几核
cores=`cat /proc/cpuinfo |grep "cores"| uniq`

echo "Physical = " $physicals
echo "Processors = " $processors
echo "Cores = " $cores

我的云服务器

Physical =  1
Processors =  8
Cores =  cpu cores : 8

说明我的云服务器是 一个CPU,8核,没有超线程,每个核一个逻辑CPU。