it-swarm-korea.com

/ proc / cpuinfo의 프로세서 수

CPU로드에 대해 배우는 동안 코어 수에 달려 있음을 알게되었습니다. 코어가 2 개인 경우로드 2는 100 % CPU 사용률을 제공합니다.

그래서 코어를 찾으려고 노력했습니다. (이미 시스템에는 2 개의 코어, 4 개의 스레드가 있으므로 2 개의 가상 코어가 있음을 알고 있습니다 프로세서에 대해서는 여기를 확인하십시오 ). 그래서 나는 cat /proc/cpuinfo을 실행했습니다.

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 774.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep 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 nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 1600.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 1
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep 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 nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 2
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 800.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 2
initial apicid  : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep 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 nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 774.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 3
initial apicid  : 3
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep 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 nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

지금 나는 완전히 혼란 스럽다. 2 개의 CPU 코어가있는 4 개의 프로세서를 보여줍니다. 누구든지이 결과를 설명 할 수 있습니까?

CPU 부하가 3.70이되면 최대 부하입니까? 여전히 그 당시 CPU는 <50 %였습니다.

터보 부스트는 어떻습니까? 모든 코어가 터보로 강화되었거나 물리적으로 만 작동합니까?

프로세서가 터보 부스트 상태인지 여부를 확인하기 위해 현재 CPU 주파수를 얻는 우분투의 방법은 무엇입니까?

하중은 약 100 % 3.70이었다. 그러나 IO 응답 시간으로 인해 CPU 사용량이 100 %가 아닙니다. 이는 IO 장치가 최대 속도에 있지만 io 장치가 100 % 사용 중이며 IO 예 : 음악이 중단 될 수 있음).

30
Madhurendra Sachan

“CPU”,“processor”및“core”라는 단어는 다소 혼란스러운 방식으로 사용됩니다. 프로세서 아키텍처를 나타냅니다. 코어는 범용 프로세서를 구현하는 가장 작은 독립 장치입니다. 프로세서는 코어의 집합입니다 (일부 ARM 시스템의 경우 프로세서는 자체가 코어의 집합 인 클러스터의 집합입니다)) 칩은 하나 이상의 프로세서를 포함 할 수 있습니다 (x86 칩에는 이러한 의미에서 단일 프로세서 processor).

하이퍼 스레딩은 코어의 일부가 복제됨을 의미합니다. 하이퍼 스레딩이있는 코어는 때때로 두 개의 "가상 코어"의 조합으로 표시됩니다.-각 코어가 가상이 아니라 실제로는 별도의 코어가 아니기 때문에 복수가 가상이라는 것을 의미합니다. 공유 부품을 사용합니다.

소프트웨어에 관한 한, 거의 모든 곳에서 유용한 하나의 개념, 즉 병렬 실행 스레드 개념이라는 개념이 있습니다. 따라서 대부분의 소프트웨어 설명서에서 CPU processor라는 용어는 프로그램 코드를 실행하는 하드웨어를 의미하는 데 사용됩니다. 하드웨어 측면에서 이는 하나의 코어 또는 하이퍼 스레딩이있는 하나의 가상 코어를 의미합니다.

따라서 top은 4 개의 스레드를 동시에 실행할 수 있기 때문에 4 개의 CPU를 보여줍니다. /proc/cpuinfo에는 각 CPU마다 하나씩 4 개의 항목이 있습니다 (그 의미에서). processor 번호 (cpuNUMBER/sys/devices/system/cpu 항목 수)는이 4 개의 스레드에 해당합니다.

/proc/cpuinfo는 하드웨어가이 실행 스레드를 구현하는 하드웨어에 대한 정보를 얻을 수있는 몇 안되는 장소 중 하나입니다.

physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2

cpu0는 물리적 구성 요소 (프로세서) 번호 0 안에있는 4 개의 스레드 중 하나이며이 프로세서의 2 개 중 코어 0에 있음을 의미합니다.

첫 번째 질문에 답하십시오. cat /proc/cpuinfo의 출력에서 ​​다음 정보를 볼 수 있습니다.

physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2

siblings is 4cpu cores is 2의 개수를 볼 수 있습니다. cpu cores가 2 인 것은 프로세서의 총 코어 수이며, 제공 한 인텔의 URL에 지정된 사양에서 확인할 수 있습니다. 마찬가지로 siblings는 인텔의 HTT에서 제공하는 스레드 수에 의해 결정되는 것입니다.

마찬가지로 물리적 ID의 경우 0는 프로세서 칩이 하나만 있음을 나타내며 코어 ID의 경우 프로세서에서 2 개의 코어 인 0 and 1를 볼 수 있습니다.

업데이트 : 다른 질문에 대한 답변 추가.

터보 부스트는 어떻습니까? 모든 코어가 터보 부스트입니까, 아니면 물리적 인 것입니까?

모든 활성 코어에는 터보 부스팅 기능이 있습니다. 친구여, 우리의 사랑하는 Wikipedia 에 의해 예제를 확인 했어야한다. 계산도 설명했다.

Any method in ubuntu to get current cpu freq. if processor is on turbo boost or not.

터보 부스트 여부는 lscpu의 출력에서 ​​주파수 세부 정보를 확인할 수 있습니다. 그리고 세련된 출력을 위해 :-

lscpu | grep Hz
13
beginer

터미널에서 이것을 시도 할 수 있습니다 :

Sudo lscpu

이렇게하면 CPU 물리적 특성에 대한 개요가 제공됩니다. 터보 부스트와 관련하여, 이것은 OS 자체보다 하드웨어 제어입니다. 따라서 인텔이 프로세서 속도를 조정할 수있는 Linux 용 특정 드라이버를 가지고 있지 않으면 터보 부스트 상태를 확인할 확실한 리드가 없습니다 (명령 코드가없는 한) 질문에 대한 단서가 있으면 다른 포럼을 확인하십시오).

나에게 이것은 위의 명령을 입력 할 때 얻는 것입니다. 내 AMD는 쿼드 코어라고 말했지만 여기에 나열된 물리적 코어는 2 개이며 코어 당 2 개의 스레드가 있습니다 (최대 4 개의 코어 추가). AMD A10 APU 프로세서 5750m)를 사용하고 있습니다.

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             AuthenticAMD
CPU family:            21
Model:                 19
Stepping:              1
CPU MHz:               2500.000
BogoMIPS:              4990.51
Virtualization:        AMD-V
L1d cache:             16K
L1i cache:             64K
L2 cache:              2048K
NUMA node0 CPU(s):     0-3
9
user220402

시스템 부하와 CPU %는 CPU 전력 사용 방식을 측정하는 두 가지 다른 방법입니다.

  • 시스템로드 : CPU 당 "준비"상태에 있었던 프로세스 수-시간이 지남에 따라 평균. 최대 1 * CPU (귀하의 경우 최대 4) 시스템은 거의 유휴 상태로 간주됩니다 (평균 체크 아웃마다 한 명의 고객 만 기다리는 슈퍼마켓과 비교). 최대 2 * cpu (경우에 따라 8)까지 지연이 발생하지 않을 수 있습니다.
  • cPU % : 프로세스를 실행하여 CPU가 실제 작업을 수행하는 시간 계산원의 견해 나 감독자의 관점과 마찬가지로 항상 바쁘기를 원합니다.

두 방법 모두 관련이 있지만 동일하지는 않습니다.

0
guntbert