Je comprends cela Σ(%CPU) ≤ logicalcores*(1+ε)
(où ε est une mesure et une erreur d'arrondi). Mais, comment puis-je avoir sur un système à 2 cœurs 2 processus différents, chacun prenant 200% de CPU (mesuré par htop)?
EDIT Cores dans l'équation ci-dessus signifie des cœurs logiques, c'est-à-dire en tenant compte de tous les hyperthreads, du nombre de CPU, etc.
EDIT 2 Malgré que htop affiche le nombre de processeurs auxquels je connecte 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
la source
la source
cat /proc/cpuinfo > /dev/unix.SE
Réponses:
Deux processeurs dual-core contiennent 4 CPU. Des processeurs multithreads existent également. Chaque thread apparaît comme un processeur pour le système d'exploitation, bien qu'il ne s'agisse pas de véritables processeurs comme le sont les cœurs. La plupart du temps, les processeurs multithreads ont deux threads par cœur, vous pouvez donc avoir un seul processeur double cœur et double cœur qui apparaît à votre système d'exploitation sur 4 processeurs.
Il convient de noter que Sun Microsystems avait une puce T2 qui avait 8 cœurs et 8 threads par cœur pour 64 CPU virtuels sur un seul processeur.
la source
/proc/cpuinfo
- maintenant beaucoup de CPU y voyez-vous ..Un seul processeur physique hyperthreadé apparaîtra comme deux processeurs logiques. Ainsi, votre processeur double cœur dans lequel chaque cœur est hyperthreadé apparaîtra comme quatre processeurs logiques pour des choses comme top, cpuinfo, prstat, moniteur d'activité, etc.
la source
Avez-vous 2 processeurs ou 4? Si vous avez deux cœurs avec deux processeurs chacun via l' hyperthreading , cela représente un total de quatre processeurs (en ce qui concerne le système d'exploitation).
la source