在判断当前是否开启了超线程之前,需要先判断另外几个数据:* b( ?* f6 p" @) Y- Y. v
1,物理CPU个数: [backcolor=rgb(255, 255, 255) !important][size=0.9em]1 ) R" G' F; M$ a& k4 l: N' _
2 R9 H! J2 S4 a' T7 n/ E; l( `3 ?" i4 x
3 $ x1 F4 g4 y2 E& F$ F1 _
| [root@localhost ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq & X; F( G$ C) g! P9 \: m/ S. V
physical id : 0
5 U/ c1 _. k& b4 n+ Tphysical id : 1
8 p7 P& \: K/ d( y7 O0 U9 N 7 H. F* I/ `5 {: e/ U0 A& y# W
|
2 w9 c" n4 R7 d3 \6 V
& D3 p! M v8 p- O3 K可以看到物理CPU个数为2,物理CPU也就是机器外面就能看到的一个个CPU,每个物理CPU还带有单独的风扇。$ B4 n$ F: ?8 v# f- B" U
2,每个物理CPU的逻辑核数: [backcolor=rgb(255, 255, 255) !important][size=0.9em]1
/ f7 x& h+ p/ W8 |0 w2 ( o0 V% s4 i! {2 R( d
| [root@localhost ~]# cat /proc/cpuinfo | grep "cores" | uniq
9 L1 }& Y, v {' F* N# Qcpu cores : 6
" E5 k1 G7 \# ?+ }
7 f$ `( b* H- {& Y* d; f4 ? | ( w5 `% H8 O6 I
+ ?- [" W; R1 Q# X
3,系统整个cpu线程数: [backcolor=rgb(255, 255, 255) !important][size=0.9em]1 & U( t* y, F0 I |" T
2
9 v5 ?, P" Y# }9 P( E! }6 f | [root@localhost ~]# cat /proc/cpuinfo | grep "processor" | wc -l
! U) d/ }6 J. K# V+ H: F24 $ O' h4 D( x# I; ^
4 d1 t) o/ v @9 U V
| : ]. T! d7 G7 z" U- H) c' E
6 y% F; }. T# }* k! {4 D* |有了三面几个数据,就可以判断当前是否开启了超线程了,没开启超线程的情况下,系统的cpu线程数=物理CPU个数*每个物理CPU的逻辑核数*1,因为每个逻辑核只跑了1个cpu线程,如果开启了超线程,那么cpu线程数=物理CPU个数*每个物理CPU的逻辑核数*N,因为每个逻辑核跑了2个cpu线程。所以,上面的24=2*6*2,可以判断当前开启了超线程。 [backcolor=rgb(255, 255, 255) !important][size=0.9em]1 ' h, K7 O% a/ E5 [0 j6 ]
2
- ?# T) u' x! e6 q0 u5 A3
" c$ W! l" x. o$ f# ~3 v | [root@localhost ~]# cat /proc/cpuinfo | grep "model name" | uniq 0 @4 I! s: `' j- _) v3 ]6 ~
model name : Intel(R) Xeon(R) CPU X5670 @ 2.93GHz
# Q. ~! C' B/ \[root@localhost ~]#
5 E3 q4 r* K- D6 t% |3 X g
3 l% g$ x: S) |. |& u7 N |
1 V2 \6 ~2 ^8 h& X6 B( [/ Q! {
' u) S" L& C( o- Y- v[backcolor=rgb(255, 255, 255) !important][size=0.9em]1 ) B+ r: Z- d+ g/ D! g* i
2
0 f: c5 v, R: ^+ a4 z3
* b: y9 L8 b2 q4 H2 G, P4
% D+ t; c9 X' I7 y, ~3 E: x5
1 Y8 E c7 l! T% C4 B6 ; J! {& v- u7 m" o Z' X
7
0 O6 A( X; i$ }6 M) v- k$ [6 j8 ' r: j5 x, f+ ~. b7 l
9 + v* i v8 m% O: `
10
5 z/ T7 ]! {% E# D' |$ G, p- K5 Y | [root@localhost ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq
! u6 i4 M8 E3 o, I7 U% W1 J" w8 _" ophysical id : 0
/ o1 R+ D2 x- F. j. L$ l2 |5 |$ N9 Pphysical id : 1 ; }* d- B9 H7 c) @/ p& n
[root@localhost ~]# cat /proc/cpuinfo | grep "cores" | uniq
3 [8 i! E u( G' E, T) [cpu cores : 4
6 |1 }6 `, C W# ]$ X5 _+ z[root@localhost ~]# cat /proc/cpuinfo | grep "processor" | wc -l # K5 B" r3 D" M
8 6 L/ p( X. ]/ C! Y ^1 V* A
[root@localhost ~]# cat /proc/cpuinfo | grep "model name" | uniq 1 o5 ~8 e6 N: H
model name : Intel(R) Xeon(R) CPU E5504 @ 2.00GHz
+ j" l( X3 }! ^[root@localhost ~]# E2 m( n/ e8 a2 r2 d
' r/ @$ X' _2 j8 l3 q1 D% c* @
| 2 b U: O& v# M
* U& |4 R0 ^' v" u
|