载:http://www.lenky.info/archives/2012/03/1343
在判断当前是否开启了超线程之前,需要先判断另外几个数据:
数据1:物理CPU个数:
cat /proc/cpuinfo | grep "physical id" | sort | uniq
- 1
数据2:每个物理CPU的逻辑核数:
cat /proc/cpuinfo | grep "cores" | uniq
- 1
数据3:系统整个cpu线程数:
cat /proc/cpuinfo | grep "processor" | wc -l
- 1
有了上面几个数据,就可以判断当前是否开启了超线程了,没开启超线程的情况下,系统的cpu线程数=每个物理CPU的逻辑核数*1,因为每个逻辑核只跑了1个cpu线程,如果开启了超线程,那么cpu线程数=每个物理CPU的逻辑核数*2,因为每个逻辑核跑了2个cpu线程。