[Linux] CPU 코어수 계산

Linux 2015. 3. 26. 15:23





우선 아래 명령어로 CPU의 전체 가상 코어수 확인가능. (사실 이거면 끝이다..;)

[root@localhost]# grep processor /proc/cpuinfo | wc -l

16


전체 가상 코어수는 16.

이제 어떻게 16이란 가상 코어수가 나왔는지 계산해 봄.




일단 소켓에 박혀있는 물리 CPU 수. (2개)

[root@localhost]# grep 'physical id' /proc/cpuinfo | sort -u | wc -l

2


물리 CPU 당 물리 코어수. (4개)

[root@localhost]# grep 'cpu cores' /proc/cpuinfo | tail -1

cpu cores       : 4



2 x 4 = 8 인데 어떻게 가상 코어수가 2배냐면 HyperThreading 때문임.


cpuinfo의 flags를 잘 뒤져보면 ht 라는 flag가 있을텐데 이게 HyperThreading 임.

[root@localhost]# grep 'flags' /proc/cpuinfo | sort -u

flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt aes lahf_lm ida arat dts tpr_shadow vnmi flexpriority ept vpid


flags에 ht가 있고, 아래처럼 siblings가 cpu cores 수치의 2배면 HyperThreading이 활성화 되어 있는 상태.

[root@localhost]# egrep 'cpu cores|siblings' /proc/cpuinfo | sort -u

cpu cores       : 4

siblings          : 8









Posted by bloodguy
,