#! /bin/bash
#逻辑CPU个数
echo "logical CPU number:"
cat /proc/cpuinfo | grep "processor" | wc -l
#物理CPU个数:
echo "physical CPU number:"
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
#物理CPU个数:
echo "core number in a physical CPU:"
cat /proc/cpuinfo | grep "cpu cores" | uniq | awk -F: '{print $2}'
#查看每个physical cpu上core id的数量,即为每个物理CPU上的core的个数
echo "core id number in a physical CPU:"
cat /proc/cpuinfo | grep "core id"
#是否为超线程?
#如果有两个逻辑CPU core具有相同的”core id”,那么超线程是打开的。
# 当然也可知直接查询 /proc/cpuinfo 中的 "ht"这个flag
echo "if hyper threading:"
cat /proc/cpuinfo | grep flags | grep ht
#每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:
echo "logical CPU number in a physical CPU:"
cat /proc/cpuinfo | grep "siblings"
# 较新的系统上有util-linux这个包,里面有lscpu这个命令,可以打印出方便人阅读的CPU架构信息 (2016-02-01 update)
#echo "ls CPU:"
#lscpu
部分命令说明:
uniq:重复行只显示一次
grep keyword:搜索含keyword的内容
wc -l:输出文件行数
上述命令 原文地址:http://smilejay.com/2011/03/linux_cpu_core_thread/
物理CPU个数:即为实际卡槽内的CPU个数
CPU核数:CPU上可处理数据的芯片组数量
逻辑CPU个数:
不支持超线程:物理CPU个数*每个CPU核数
支持超线程:物理CPU个数*每个CPU核数* 2
超线程:就是利用特殊的硬件指令,把一个物理内核模拟成两个逻辑内核