是否开启超线程,由以下公式来确定:
-
未开启超线程:CPU总线程数 = 物理CPU个数 * 每个物理CPU的逻辑核数 * 1;
-
开启超线程:CPU总线程数 = 物理CPU个数 * 每个物理CPU的逻辑核数 * N。
所以我们要收集这三种与 CPU 相关的数据:
(1)查看物理 CPU 数
cat /proc/cpuinfo | grep "physical id" | sort | uniq
Linux uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用2。
(2)每个物理 CPU 的逻辑核数
cat /proc/cpuinfo | grep "cores" | uniq
(3)CPU 线程总数
cat /proc/cpuinfo | grep "processor" | wc -l
wc -l 命令用于统计行数3。
因为CPU总线程数(4) = 物理CPU个数(1) * 每个物理CPU的逻辑核数(4) * 1,所以这台主机没有开启超线程。
[1]在Linux下判断系统当前是否开启了超线程.
[2] Linux uniq 命令.
[3] Linux wc命令.