关于核心数量有很多疑问,例如,但据我所知,没有一个能提供正确的逻辑核心。
我能想到的最好的办法就是使用以下公式来计算自己:
Physical cores = <Cores per socket> * <sockets>
Logical cores = <Threads per core> * Physical cores
我可以通过以下方式获得:
threads=$(lscpu | awk '/^Thread/{print $NF}')
cores=$(lscpu | awk '/^Core\(/{print $NF}')
sockets=$(lscpu | awk '/^Socket/{print $NF}')
phy=$(( $sockets * $cores ))
logi=$(( $phy * $threads ))
有没有更好的办法?
编辑:
- 基于通用工具,即无需安装新的软件包
- 我需要逻辑和物理。我看到的大多数答案只给出了其中之一
答案1
物理核心:
egrep '^core id' /proc/cpuinfo | sort -u | wc -l
逻辑核心:
egrep '^processor' /proc/cpuinfo | sort -u | wc -l
物理 CPU(独立芯片):
egrep '^physical id' /proc/cpuinfo | sort -u | wc -l
答案2
有一个包 inxi。
sudo apt install inxi
然后尝试
inxi --cpu
答案3
你不能只使用
cat /proc/cpuinfo | grep processor
0为基础,所以这台机器有56个逻辑核心。
processor : 55
vendor_id : GenuineIntel
cpu family : 6
model : 79
model name : Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz