Eu entendo isso Σ(%CPU) ≤ logicalcores*(1+ε)
(onde ε é medida e erro de arredondamento). Mas, como posso ter em um sistema com 2 núcleos 2 processos diferentes, cada um ocupando 200% da CPU (conforme medido pelo htop)?
Núcleos EDIT na equação acima significa núcleos lógicos, isto é, levando em consideração todo hyperthreading, número de CPUs, etc.
EDIT 2 Apesar do htop exibir o número de processadores que eu conecto no 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:
linux
cpu
hyperthreading
Maciej Piechotka
fonte
fonte
cat /proc/cpuinfo > /dev/unix.SE
Respostas:
Dois processadores de núcleo duplo contêm 4 CPUs. Processadores multithread também existem. Cada encadeamento aparece como uma CPU no sistema operacional, embora não sejam verdadeiras, assim como os núcleos. Geralmente, as CPUs com vários threads têm dois threads por núcleo, portanto, você pode ter um único processador com dois threads e dual core que aparece no seu sistema operacional em 4 CPUs.
Deve-se observar que a Sun Microsystems possuía um chip T2 com 8 núcleos e 8 threads por núcleo para 64 CPUs virtuais em um único processador.
fonte
/proc/cpuinfo
- agora muito CPUs fazer u ver lá ..Um único processador hyperthread físico aparecerá como dois processadores lógicos. Assim, seu processador dual core no qual cada núcleo é hyperthread aparecerá como quatro processadores lógicos para coisas como top, cpuinfo, prstat, monitor de atividades, etc.
fonte
Você tem 2 processadores ou 4? Se você possui dois núcleos com duas CPUs, cada um com hyperthreading , são quatro processadores no total (no que diz respeito ao sistema operacional).
fonte