PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hyperthreading mit SUSE 8.2



kregen
05.03.04, 18:17
Hallo,

da ich neu auf dem Sector Hyperthreading bin und ich mir mittlerweile einen Wolf unter GOOGLE gesucht habe, möchte ich doch jetzt lieber hier nachfragen.

Wenn ich einen P4 mit HT eingesetzt habe (vorher ohne), im Motherboard HT aktiviert ist, was ist noch zu tun um Hyperthreading optimal zu nutzen?

Muss ein neuer Kernel instaliert werden? SMP oder reicht der K_deflt-2.4.20 Kernel aus?

Meine /proc/cpuinfo sieht folgendermaßen aus..

processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 3.06GHz
stepping : 9
cpu MHz : 3081.551
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
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
bogomips : 6147.27

Hyperthreading ist also aktiviert..... muss noch irgendetwas getan werden?

cu
kai

$kuLL
05.03.04, 18:34
Hyperthreading ist also aktiviert
Wie kommst du darauf? Bei 2 CPU's müssten doch processor : 0 und processor : 1 stehen?!?
Bei top kannst du am schnellsten rausfinden ob beide logischen CPU's arbeiten.

Ein SMP Kernel muss es nicht sein, wenn du ACPI aktiviert hast, müsste das schon reichen. So klappt es zumindest unter FreeBSD. Da habe ich dann auch bei 'top' eine Spalte C in der die verwendete CPU steht, die dem jeweiligen Prozess zugewiesen ist.

schuelsche
05.03.04, 18:43
Hm... also ich habe 2 CPU's (AP400).

Wenn ich jetzt in top schaue, sehe ich keinen Hinweis auf 2 CPU's. Allerdings werden von SuSE 9.0 schon zwei CPU's erkannt, da in der /proc/cpuinfo zwei CPU's aufgezählt werden (processor 0 und processor 1).

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8384 schuelsc 16 0 37424 36m 15m S 5.5 7.3 5:05.06 MozillaFirebird
8330 schuelsc 15 0 15964 15m 13m S 2.9 3.1 0:04.40 kdeinit
1467 schuelsc -51 0 6328 6308 4688 S 2.3 1.2 2:24.60 artsd

Wo sehe ich, dass er beide verwendet?

Grüsse
schuelsche

$kuLL
05.03.04, 18:54
Öhm steht da nicht ganz oben beim Load irgendwas mit CPU1 und CPU2?

kregen
05.03.04, 18:57
äääääääähmmmm....

auf irgendetwas kommen tue ich über haupt nicht... deshalb ja auch meine frage...

bei top gibt es keine spalte die mir etwas von einer cpu die benutzt wird verrät.

auch durch die aktivierung von ACPI verändert sich nichts....

wo bei load bitte?

cu
kai

$kuLL
05.03.04, 19:00
Sorry, ich hab schon lange kein Linux mehr gesehen, geschweige denn ein Dual-CPU System.
Sucht doch mal hier im Forum, das wurde schon x-mal behandelt.

kregen
05.03.04, 19:01
genau nicht...

alle antworten empfand ich als sehr unbefriedigend...

sonst hätte ich meine frage hier auch nicht gestellt...

aber trotzdem danke für den versuch...

cu
kai

schuelsche
05.03.04, 19:09
Original geschrieben von $kuLL
Öhm steht da nicht ganz oben beim Load irgendwas mit CPU1 und CPU2?

top - 18:56:23 up 2:12, 3 users, load average: 0.24, 0.24, 0.25
Tasks: 81 total, 2 running, 79 sleeping, 0 stopped, 0 zombie
Cpu(s): 4.4% user, 4.2% system, 0.0% nice, 91.4% idle
Mem: 514184k total, 508052k used, 6132k free, 66216k buffers
Swap: 530136k total, 0k used, 530136k free, 242184k cached

Hinter Cpu(s) steht nix...

schuelsche

$kuLL
05.03.04, 19:29
OK, dann braucht Linux vielleicht doch einen SMP Kernel.
FreeBSD regelt das über ACPI bzw. über eine extra Kernel Option für HT (falls man kein ACPI verwendet). Den SMP Support muss man da nicht einbinden.

Also verwendet mal einen Kernel mit SMP Support.

@ schuelsche

cat /proc/interrupts
Da deine /proc/cpuinfo i.O. ist, schau dir die Interrupts an. Wenn eine annähernd gleiche Verteilung für beide CPU's sichtbar ist, dann is alles OK.

schuelsche
05.03.04, 19:40
Jep, sieht gut aus:

CPU0 CPU1
0: 4837860 4772775 IO-APIC-edge timer
1: 5542 5585 IO-APIC-edge keyboard
2: 0 0 XT-PIC cascade
5: 44681 49232 IO-APIC-edge ES18xx
8: 2 0 IO-APIC-edge rtc
9: 0 0 IO-APIC-edge acpi
12: 156010 159835 IO-APIC-edge PS/2 Mouse
15: 49542 55545 IO-APIC-edge ide1
19: 12 52 IO-APIC-level usb-uhci
20: 12348 11430 IO-APIC-level eth0
21: 19435 32422 IO-APIC-level ncr53c8xx
NMI: 0 0
LOC: 9616768 9617569
ERR: 0
MIS: 0

... zumindest schliesse ich das aus diesen Angaben.

Habe mir auch gerade nach einem Hinweis aus einem anderen Thread hier das Paket "sysstat" installiert und daraus mpstat aufgerufen:

inux 2.4.21-99-smp4G (...) 05.03.2004

19:16:50 CPU %user %nice %system %idle intr/s
19:16:50 all 14,75 0,60 2,90 81,74 1061,52

Damit kann ich eigentlich nix anfangen...

Aber vermutlich müsste man ja auch etwas sehen, wenn man gkrellm oder sowas installiert, also einen ähnlichen Systemmonitor wie unter Windows... Unter Windows werden nämlich beide CPU's grafisch dargestellt und man kann, wenn man ein Programm aufruft, schauen, ob beide Prozessoren dabei belastet werden...

Übrigens hat bei mir eine Google-Suche nach Dual-Prozessoren und Testprogrammen irgendwie nix gescheites zutage befördert... Und so viele Dual-Prozessor-Threads gibts hier im Forum gar nicht ;-)

Grüsse
schuelsche

schuelsche
05.03.04, 19:51
Gibt ein grafisches Programm namens "xosview", dass die Prozessorlast anzeigt ;-)

Grüsse
schuelsche

swannema
06.03.04, 04:28
gkrellm zeigt das auch an. Ich habe einen P4 3Ghz mit HT, ich bin dann auf den smp Kernel umgestiegen und SuSE 8.2 fliegt. Mittlerweile habe ich den 2.6.3-16 smpKernel und der ist der schnellste Kernel denn ich bis jetzt probiert habe.

kregen
06.03.04, 13:41
Hi all,

so nach langem Schen und probieren habe ich folgendes durchgeführt...

1. k_deflt Kernel vom Rechner geschmissen.
2. SUSE 8.2 SMP Kernel installiert.
3. geboote mit runlevel 3
4. cd /usr/src/linux
5. make cloneconfig && make dep
6. nvidia-installer durchgefürt
7. init 5

Der Rechner erkennt jetzt zwei CPUs und das wichtigste er benutzt sie auch :-))))
Erkennbar im cat /proc/cpuinfo sowie in top und xosview.

Besten Dank für alle Hinweise.

cu
kai

frankpr
06.03.04, 17:08
Original geschrieben von kregen
genau nicht...

alle antworten empfand ich als sehr unbefriedigend...

sonst hätte ich meine frage hier auch nicht gestellt...

aber trotzdem danke für den versuch...

cu
kai
Wonach hast Du gesucht? Beim ersten Versuch habe ich das hier (http://www.linuxforen.de/forums/showthread.php?s=&threadid=111851) gefunden.

MfG

kregen
06.03.04, 17:21
hi,

wonach habe ich gesucht... ist jetzt eigentlich unwichtig...

lediglich zur vollständigkeit....

natürlich nach hyperthreading in allen möglichen verbindungen (SUSE oder LINUX oder KERNEL und/oder P4 usw.....) sowohl hier im forum als auch mit dem guten alten google.

cu
kai

Deathcrow
06.03.04, 18:01
naja also du müsstest auf jedenfall im kernel das "symmetric multi processing" oder wie dat heissst aktiviert haben, damit HT funktionieren kann.
Falls du gkrellm hast: Das zeigt dann auch 2 cpus an, wenn HT funzt.