2 코어에서 400 %의 CPU를 점유 할 수있는 방법


13

나는 Σ(%CPU) ≤ logicalcores*(1+ε)(ε이 측정 및 반올림 오류 인 것을 이해합니다 .) 그러나 2 코어 시스템에서 2 개의 다른 프로세스를 어떻게 가질 수 있습니까? 각각 CPU의 200 %를 차지합니다 (htop으로 측정)?

위의 방정식에서 EDIT Cores는 논리 코어를 의미합니다. 즉 모든 하이퍼 스레딩, CPU 수 등을 고려합니다.

편집 2 htop에도 불구하고 cpuinfo를 연결하는 프로세서 수를 표시합니다.

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 23
model name  : Intel(R) Core(TM)2 Duo CPU     T9600  @ 2.80GHz
stepping    : 10
cpu MHz     : 800.000
cache size  : 6144 KB
physical id : 0
siblings    : 2
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 lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm ida dts tpr_shadow vnmi flexpriority
bogomips    : 5585.20
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 23
model name  : Intel(R) Core(TM)2 Duo CPU     T9600  @ 2.80GHz
stepping    : 10
cpu MHz     : 800.000
cache size  : 6144 KB
physical id : 0
siblings    : 2
core id     : 1
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 lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm ida dts tpr_shadow vnmi flexpriority
bogomips    : 5586.38
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

이것도 위에보고 되었습니까? 그렇다면 "Irix 모드"와 "Solaris 모드"사이를 전환하면 어떻게됩니까 (I 키를 사용하여 둘 사이를 전환)?
Steven D

@Steven D : 다음에 언제 있을지 확인하겠습니다 (아마도 곧).
Maciej Piechotka

1
cat /proc/cpuinfo > /dev/unix.SE
SamB

@Steven D : Irix 모드에서 ~ 15 %를 추가로 재생할 수있었습니다 (2 프로세스 추가-반올림 오류에는 여전히 너무 많은 것 같습니다). 지금까지 Solaris 모드에서 재생할 수 없었습니다.
Maciej Piechotka

답변:


5

2 개의 듀얼 코어 프로세서에는 4 개의 CPU가 있습니다. 멀티 스레드 프로세서도 있습니다. 각 스레드는 코어와 같은 실제 CPU는 아니지만 OS에 대한 CPU로 나타납니다. 대부분의 멀티 스레드 CPU에는 코어 당 2 개의 스레드가 있으므로 OS에 4 개의 CPU로 표시되는 단일 이중 스레드 이중 코어 프로세서를 사용할 수 있습니다.

Sun Microsystems는 단일 프로세서에서 64 개의 가상 CPU에 대해 코어 당 8 개의 코어와 8 개의 스레드를 가진 T2 칩을 가지고있었습니다.


cpufreq core 2 duo (mobile edition)에 의해 언더 클럭킹 된 싱글 프로세서, 듀얼 코어입니다. 하이퍼 스레딩이 없습니다 (P4 및 i3 / 5 / 7에 있음).
Maciej Piechotka

1
이것을 'top'에서도 볼 수 있는지 또는 이것이 'htop'에서 버그인지 확인할 가치가 있습니다.
ewindisch

2
체크인 /proc/cpuinfo-이제 많은 CPU가 거기에서 볼 수 있습니다.
Drakosha

5

단일 물리적 하이퍼 스레딩 프로세서는 두 개의 논리 프로세서로 나타납니다. 따라서 각 코어가 하이퍼 스레딩 된 듀얼 코어 프로세서는 top, cpuinfo, prstat, activity monitor 등과 같은 것들에 4 개의 논리 프로세서로 나타납니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.