在判断当前是否开启了超线程之前,需要先判断另外几个数据:
1 a+ A8 a- A. M" x4 H( R5 W2 p) C1,物理CPU个数: [backcolor=rgb(255, 255, 255) !important][size=0.9em]1 0 w- V8 _/ r' O& R- T/ t. Y
2
# h) M( J9 [; d d9 [' X3
: O" h8 B- t4 m z+ R8 j2 O3 a. h5 l0 W | [root@localhost ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq p' E( n$ z1 _8 A) p! a
physical id : 0
1 h4 u1 p0 K* f, ^9 G0 P2 t: _physical id : 1
& c5 f& l& p3 X& t5 \$ B+ Y- C
: `) u- T. X+ d: V$ y( z. V- N- d+ y |
+ k0 A/ ^3 n% M1 ?0 o3 L/ `0 D+ J
可以看到物理CPU个数为2,物理CPU也就是机器外面就能看到的一个个CPU,每个物理CPU还带有单独的风扇。
: A% D( E: C- B9 O2,每个物理CPU的逻辑核数: [backcolor=rgb(255, 255, 255) !important][size=0.9em]1 7 n+ c& a% e( n: L
2
: J3 @2 ^5 v1 A. V2 ~! M/ o | [root@localhost ~]# cat /proc/cpuinfo | grep "cores" | uniq ' H. _, ^1 G0 J9 m' _
cpu cores : 6
( P& ~8 B" r8 U3 w- S: i% M - H, I; n2 v5 K
|
( I- ]! x' B8 Z# V4 M) L0 s* |2 V9 l8 T W# h7 l" X
3,系统整个cpu线程数: [backcolor=rgb(255, 255, 255) !important][size=0.9em]1
' d" d, k# g, }6 n2 S7 y r2
- l! c! |5 A1 u/ T& a/ f | [root@localhost ~]# cat /proc/cpuinfo | grep "processor" | wc -l # v- D6 e+ P z) W- ~7 L
24
+ R; L6 o2 c0 i X
' x9 g9 s& R" @0 ^" B; X, d- Y |
% Q0 _# r/ C: K* O4 \
e0 E5 G3 ^) n- n% F有了三面几个数据,就可以判断当前是否开启了超线程了,没开启超线程的情况下,系统的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 + C+ Z# f7 g. P+ j P7 T; ^
2 6 k/ D/ G R0 N' a( Z3 u* \& z1 W7 K
3 9 h- ^2 x e0 b: W' U/ V4 E' e
| [root@localhost ~]# cat /proc/cpuinfo | grep "model name" | uniq 4 r Z/ X- B2 `) w" M6 F
model name : Intel(R) Xeon(R) CPU X5670 @ 2.93GHz 9 c7 n$ Y4 j% g! P2 n
[root@localhost ~]#
3 S$ g F: I* b( i/ A3 T6 V0 u " {4 {" V7 t1 d6 c4 B% h
|
/ a8 a a) ]: n& v0 W) F1 s0 Y3 X# E5 o. Y1 Y; F
[backcolor=rgb(255, 255, 255) !important][size=0.9em]1 , F$ K& W: k: W1 H4 M' `; P N! V
2 ; x5 e& z& h3 Y8 K" I
3 * g- _2 t& b; v$ g G
4 : e) _/ e4 y$ F
5
- j2 J* x) q8 \3 Z$ q1 @: e+ R" K( E! c6 + Y4 e$ T& i. W) Y9 J
7
, ~/ A q! u$ I; O& G) j2 Z$ ]( G8
9 Z- N$ j, E" _- J- ~9
, I7 J; Y1 j, t* B0 h3 k8 D# Q9 A10
* S* T/ V+ M) x* A | [root@localhost ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq
" E; Q# @! V5 M! g% v+ [physical id : 0
6 N. C* s( s& U+ c3 r3 Gphysical id : 1
8 W, c# q0 K4 r0 U D0 g2 ~: I' S[root@localhost ~]# cat /proc/cpuinfo | grep "cores" | uniq - z! U+ |- w; ~9 k& @" U
cpu cores : 4
- V! O4 ~7 M) w9 J; s( ]4 D* `[root@localhost ~]# cat /proc/cpuinfo | grep "processor" | wc -l * b0 A; L7 ]* }9 s$ R
8 - v+ u4 V1 i6 S l& T: i0 K
[root@localhost ~]# cat /proc/cpuinfo | grep "model name" | uniq $ ^* u9 b' p# l7 R" q0 ^8 j ~2 C' }+ f
model name : Intel(R) Xeon(R) CPU E5504 @ 2.00GHz
) L7 b7 d8 X- _[root@localhost ~]# * L- s: {* r' n8 {* W& r' ]/ i
1 @; j, o X9 N" f$ i e4 M7 P+ K
|
! q( t2 U, R8 E9 g' e0 {/ ^& a/ ^1 h" ?% W( h/ a. @) I
|