Um die Antwort von Max zu erweitern:Prozessoren mit Hyperthreading melden zwei Kerne an das Betriebssystem, wenn es in Wirklichkeit nur einen einzigen physischen Kern gibt. Linux sieht 4 Kerne, aber Ihr Prozessor hat 2 physische Kerne.
Der physische Kern verfügt über erweiterte Scheduling-Funktionen und einige zusätzliche Transistoren zur Verarbeitung des zweiten Threads, aber für viele prozessorintensive Anwendungen bietet das Hyperthreading keinen wirklichen Vorteil.
In meinem Bereich bewerten wir die Anwendungen, die auf einem System ausgeführt werden, und deaktivieren Hyperthreading im BIOS, wenn es die Leistung beeinträchtigt.
BEARBEITEN:
Wenn ich die Hälfte der Kerne mit cat /dev/urandom > /dev/null
lade Folgendes bekomme ich auf einem modernen Xeon mit CentOS 6:
top - 19:32:38 up 1 day, 8:17, 3 users, load average: 12.13, 8.73, 4.07
Tasks: 694 total, 13 running, 681 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 50.4%sy, 0.0%ni, 49.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 49552656k total, 2693452k used, 46859204k free, 186448k buffers
Swap: 15999992k total, 0k used, 15999992k free, 469560k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21193 root 20 0 98.5m 560 452 R 100.0 0.0 6:23.31 cat
21194 root 20 0 98.5m 560 452 R 100.0 0.0 6:22.76 cat
21195 root 20 0 98.5m 560 452 R 100.0 0.0 6:22.38 cat
21201 root 20 0 98.5m 560 452 R 100.0 0.0 6:21.98 cat
21202 root 20 0 98.5m 560 452 R 100.0 0.0 6:21.62 cat
21203 root 20 0 98.5m 560 452 R 100.0 0.0 6:21.36 cat
21206 root 20 0 98.5m 560 452 R 100.0 0.0 6:20.43 cat
21187 root 20 0 98.5m 560 452 R 99.6 0.0 6:24.45 cat
21204 root 20 0 98.5m 560 452 R 99.6 0.0 6:21.03 cat
21205 root 20 0 98.5m 560 452 R 99.6 0.0 6:20.73 cat
21213 root 20 0 98.5m 560 452 R 99.6 0.0 6:20.09 cat
21214 root 20 0 98.5m 560 452 R 99.6 0.0 6:19.70 cat
Es ist über vier Jahre her, und um fair zu sein, ich habe diese Frage völlig vergessen und bin nur zurückgekommen, weil ich gesehen habe, dass ich eine bemerkenswerte Frage erhalten hatte Abzeichen dafür.
Das Problem war tangential im Zusammenhang mit Hyperthreading, aber wie ich den Antwortenden immer wieder betonte, war das nicht die Ursache für die 50 % Leerlauf.
Die Ursache hatte mit einer unpassend konfigurierten dynamischen Kernel-Ticks-Konfiguration zu tun. Ich habe Gentoo ausgeführt und einen benutzerdefinierten Kernel verwendet. Nachdem ich irgendwann Mitte 2012 den Kernel aktualisiert hatte, löste sich das Problem von selbst.