在判断当前是否开启了超线程之前,需要先判断另外几个数据:: b9 F+ n* v- I$ L4 Z1 Q5 N
1,物理CPU个数: [backcolor=rgb(255, 255, 255) !important][size=0.9em]1 * G7 Z2 l6 Q: C0 n8 }8 D
2 " G2 \; q" H/ u: V5 t) V j
3 % Z, ?4 |9 m" ~& y8 g
| [root@localhost ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq * \/ h# h- c& Y
physical id : 0
; w) a, W- j3 S. e" `4 z3 sphysical id : 1
5 P; b# H6 M7 a4 e6 b , {: R( s9 Y; g _) O
|
& D% [5 `! N7 \( @. _2 D4 ?/ ~, O% H/ ]1 D' p
可以看到物理CPU个数为2,物理CPU也就是机器外面就能看到的一个个CPU,每个物理CPU还带有单独的风扇。
! W) J. \2 U0 T/ @1 z& B+ V! o/ u2,每个物理CPU的逻辑核数: [backcolor=rgb(255, 255, 255) !important][size=0.9em]1 9 k `0 L0 C6 k0 R4 b7 V' E
2
9 S: F# s4 X4 T | [root@localhost ~]# cat /proc/cpuinfo | grep "cores" | uniq
0 ] d: n1 B2 B# {; Pcpu cores : 6 + n* _% D0 _, g! a
' z- O. {/ a- f( u7 T' h
| & d! t2 d' B- k% R7 _
, V$ H+ l8 v; _9 z5 m& e3,系统整个cpu线程数: [backcolor=rgb(255, 255, 255) !important][size=0.9em]1
1 V. v- J$ M& ~7 l' b7 n$ X2
8 ^# ]$ M2 p+ }1 b3 e& A8 L2 w | [root@localhost ~]# cat /proc/cpuinfo | grep "processor" | wc -l
5 i# U) `& J: d2 b, J) T1 D24 ! b+ @# m5 {) I
% M6 q2 r- ^& h* X2 s. t" l | , w: F8 }2 K) y' C# S
: X2 N: t( X# b
有了三面几个数据,就可以判断当前是否开启了超线程了,没开启超线程的情况下,系统的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 z% N! B6 ]; [8 J: E: N6 G6 ~
2
2 _ q, ~/ N7 L6 `; g1 R3 : C: b2 m" z. }3 ]
| [root@localhost ~]# cat /proc/cpuinfo | grep "model name" | uniq " A( M* \$ V* d/ l' E" V
model name : Intel(R) Xeon(R) CPU X5670 @ 2.93GHz
5 b0 `4 f; Z( M8 X j" _' T( n- t[root@localhost ~]# }& k6 N' a$ I) I2 C7 p" z
7 b; N( R' R4 i5 X- A* T
| 3 i( W' y! @" S+ ^, B
* X# |1 C& c/ F[backcolor=rgb(255, 255, 255) !important][size=0.9em]1 * Y9 V. S Z0 u; x( r% N
2 3 g- m6 Z' g5 a
3 & b# g2 \3 K- ~' F: t% U) ?/ A/ G, e
4
/ q, J0 d! P) t \5
B) l# k; w O6 # r H9 o7 J- z( k
7 ( C: V( u3 S9 q. a
8
! V& i' g1 e! c( x9 b# ]9
. L) R$ n+ r6 p# @10 $ ?9 N! X' X! \( c; ]5 h* K
| [root@localhost ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq
+ ^: s8 }- z9 }( [- W: Mphysical id : 0
; k9 V8 @- r$ ?; R! `9 X7 ?) ?physical id : 1 ! t3 \* G- Z+ V: A, U! d5 T
[root@localhost ~]# cat /proc/cpuinfo | grep "cores" | uniq
B- c/ J& A$ kcpu cores : 4
# K5 d4 M# ^ z" w$ Q8 \2 z[root@localhost ~]# cat /proc/cpuinfo | grep "processor" | wc -l
4 L- r' Q& _, k5 Z& k8 t# ]1 G* J7 \! E2 F* g7 H8 Y% I
[root@localhost ~]# cat /proc/cpuinfo | grep "model name" | uniq
" a) j1 a' g Z- s2 r% kmodel name : Intel(R) Xeon(R) CPU E5504 @ 2.00GHz 9 u1 Z6 [8 K+ g$ A& I S- _% f
[root@localhost ~]# " \( D+ S2 U+ d$ E. G1 m+ ?3 \8 `
- S8 g) \( R1 {& }: j0 J | : D2 J8 |$ ^- Z% y
/ j) n7 S! g* B& s4 e
|