FreeBSD & Performance - Ein Vergleich

Status
Für weitere Antworten geschlossen.

cryptosteve

Ex-Steve`
Hallo Ihr Lieben,

wie Ihr sicher wißt, kämpfe ich seit FreeBSD 5.2.1 und neuer mit der FreeBSD-Performance. Das ganze zieht sich über mehrere Rechner(-architekturen) hin, damals auf einem 1.4GHz-Rechner, jetzt ein AMD64 3700+ mit 2.2GHz. RAM lag immer um 1GB. Ich habe derweil schon in jede Richtung gedoktort, aber nichts hat Abhilfe geschaffen.

FreeBSD 6.2-STABLE spult sich hier als Daumenkino ab und auch FreeBSD 7.0-CURRENT ist trotz einschneidenen Änderungen am Scheduler nicht besser (klar, das Debugging macht es verhältnismäßig langsamer).

Ich arbeite hier unter KDE und betreibe eine TV-Karte. Das TV-Bild fängt an zu rucklen, sobald Last auf die Festplatten kommt, sobald vermehrt Daten übers Netzwerk gehen oder wenn der Prozessor Volldampf gibt. Der Mauszeiger unter KDE fängt an zu ruckeln, sobald der Prozessor Gas gibt (z.b. Software kompilieren).

Das sich die Probleme durch Optimierungen am System nicht in den Griff bekommen lassen, habe ich mittlerweile realisiert.

Was mich interessieren würde: Wer hat diese Probleme auf vergleichbarer Konstellation nicht. Was macht diese Systeme anders als meines? Schnellschüsse und andere Ideen sind erwünscht.
 
Nur die TV-Karte, aber mir fällt auf die Schnelle nichts ein, wie eine nicht in Betrieb befindliche PCI-Karte die Systemperformanz so negativ beeinträchtigen sollte.

Aber sollte ich hier echt der einzige mit den Problemen sein, könnte ich sie natürlich testweise mal ziehen.

Nachtrag: Darüber hinaus gilt meine Hauppauge WinTV/PCI bt848 natürlich als DIE Referenzkarte für den Betrieb unter BSD.
 
Eine NVidia Geforce 6600GT (PCI, passiv gekühlt), vorher wars eine NVidia Geforce2 GTS/Pro, beide mit dem NVidia-Treiber. Momentan unter CURRENT läuft der NVidia-Treiber aber nicht, sodass ich dort derzeit mit nv fahre. Früher auf 1280x1024, jetzt auf 1680x1050.
 
Das ist schon unheimlich, so als wär irgendein Bus überlastet. Hast du denn schon mal probiert die Karte zu ziehen? Ich kann's mir zwar eigentlich nicht vorstellen, aber etwas besseres fällt mir so aus der Ferne auch nicht ein.
 
Hi

also ich hab ein vergleichbares System (P4 2.0 Ghz, 1GB RAM, FreeBSD 6.2 Release). Was die TV-Karte betrifft kann ich nichts sagen, hab keine die geht. Aber ich kann unter Gnome kompilieren, Musik hören, surfen, alles ohne dass der Mauszeiger wackelt oder die Musik ruckelt. :rolleyes:

gruß
 
Hi

also ich hab ein vergleichbares System (P4 2.0 Ghz, 1GB RAM, FreeBSD 6.2 Release). Was die TV-Karte betrifft kann ich nichts sagen, hab keine die geht. Aber ich kann unter Gnome kompilieren, Musik hören, surfen, alles ohne dass der Mauszeiger wackelt oder die Musik ruckelt. :rolleyes:
Danke, das ist doch mal 'ne Aussage.

Ich kann mir auch nicht vorstellen, dass es an einer nicht in Benutzung befindlichen TV-Karte liegt, aber das läßt sich ja herausfinden. Darüber hinaus hat Kamikaze recht ... es handelt sich dabei um die einzige Komponente, die über die Jahre hinweg im Einsatz ist.

Das Ruckeln ist bisweilen so schlimm, dass, wenn ich ein portupgrade laufen habe und Programm a im Vordergrund ist und ich dann auf das im Hintergrund befindliche Programmfenster b klicke, dass es bis zu 10 Sekunden dauert, bis das Programmfenster von b vollständig angezeigt wird. Also nichts, was sich irgendwie im Millisekundenbereich abspielt, oder so. Während eines portupgrade ist das System quasi unbenutzbar. Ich habe es damals hilfsweise schonmal mit xfce und twm versucht, aber das brachte keine Besserung; es liegt also nicht an resourcenfressenden Programmen.

Vielleicht eine Konfigurationsgewohnheit?
Daran hatte ich auch zunächst gedacht, aber mittlerweile habe ich sogar mit einer völlig unkonfigurierten Konstellation rumgetestet. Was mich in letzter Zeit wundert ... jeder spricht vom Scheduler, der anderen Systemen mittlerweile ebenbürtig sein soll, und bei mir dauert im GENERIC ein Fensterwechsel in KDE bei Prozessorvolllast 10-15 Sekunden? Das soll der neue Scheduler sein? Entweder haben die eine merkwürdigen Ansicht von Qualität, oder hier stimmt irgendwas nicht. :)
 
Narf .. noch ein Nachtrag, an ACPI liegt es übrigens auch nicht, ich hatte es bereits abgeschaltet bzw. in jede Richtung konfiguriert (was bischen, was mein Board halt hergibt) und auch ein BIOS-Upgrade auf die neue BIOS-Beta habe ich hinter mir.
 
Ich weiß, das ist umständlich und arbeitsaufwändig, aber wenn Deine Festplatte es hergibt, könntest Du ja mal zu Testzwecken noch ein weiteres OS installieren (am besten was, das sich schon deutlich von FreeBSD unterscheidet).
Wenn sich dann auf diesem OS die gleichen Symptome einstellen, würde es doch nahe liegen, dass was an der Hardware nicht stimmt. Wenn die Probleme nicht auftreten, liegt's höchstwahrscheinlich eher an der FreeBSD-Version.

Könnte man auch mal mit diversen Live-CDs ausprobieren. Allerdings dürfte es ziemlich schwer sein, da auseinanderzuhalten, ob der Performanceverlust am verzögerten Ansprechverhalten durch den CD-Betrieb liegt, oder ob es an Problemen mit OS bzw. Hardware liegt.

Dicke Daumen!
 
hast du schon mal geschaut, ob die Karte im Overlay-Modus läuft?! (Wobei ich mir nicht sicher bin, ob dieser Modus unter FreeBSD überhaupt unterstützt wird).

Das ist egal. Es geht ja nicht nur um das TV-Bild. Ich weiß, dass grabdisplay langsamer und leistungsfressender läuft als overlay. Aber das kann nicht die Ursache sein, denn das ganze System ist auch irre ruckelig, wenn die TV-Karte gar nicht läuft. Sogar dann, wenn bktr noch nichtmal geladen ist.

Ich weiß, das ist umständlich und arbeitsaufwändig, aber wenn Deine Festplatte es hergibt, könntest Du ja mal zu Testzwecken noch ein weiteres OS installieren (am besten was, das sich schon deutlich von FreeBSD unterscheidet).
Wenn sich dann auf diesem OS die gleichen Symptome einstellen, würde es doch nahe liegen, dass was an der Hardware nicht stimmt. Wenn die Probleme nicht auftreten, liegt's höchstwahrscheinlich eher an der FreeBSD-Version.

Das Problem betrifft einzig und alleine FreeBSD. Dieser Rechner hat testweise schonmal ein sehr performantes WinXP (so performant, wie es mit Windows eben geht) gesehen und auch das darauf befindliche Linux rennt wie eine Kanonenkugel. Nur FreeBSD ruckelt sich bis zur Unkenntlichkeit einen ab.

Ich habe schon überlegt, ob ich es testweise nochmal mit NetBSD versuche, aber ich habe FreeBSD momentan nur sehr wenig Platz zugewiesen und meine NetBSD-Versuche sind schon 5 Jahre her. Ich weiß nicht, ob ich es gefahrlos zustande bringe, es auf den verbleibenen Platz zu installieren.
 
Das Problem betrifft einzig und alleine FreeBSD. Dieser Rechner hat testweise schonmal ein sehr performantes WinXP (so performant, wie es mit Windows eben geht) gesehen und auch das darauf befindliche Linux rennt wie eine Kanonenkugel. Nur FreeBSD ruckelt sich bis zur Unkenntlichkeit einen ab.

Meine PCs mit FreeBSD haben alle weniger Leistung und Funktionieren
super.

Ich habe aber noch eine Ideen:
- Schaue mal im dmesg ob du eine cuad device hast.
Wenn ja hast du das Problem wohl schon gefunden.
cuad device können (müssen aber nicht) bei FreeBSD das ganze
system ausbremsen und lahmlegen.

Greets
Ghost
 
Mein dmesg sieht übrigens so aus (resultierend aus einem Asus A8V deluxe):
Code:
Copyright (c) 1992-2007 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-CURRENT #3: Wed Sep 26 20:43:01 CEST 2007
    stell@blade.crashmail.de:/usr/obj/usr/src/sys/BLADE
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Athlon(tm) 64 Processor 3700+ (2202.84-MHz 686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x20f71  Stepping = 1
  Features=0x78bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2>
  Features2=0x1<SSE3>
  AMD Features=0xe2500800<SYSCALL,NX,MMX+,FFXSR,LM,3DNow!+,3DNow!>
  AMD Features2=0x1<LAHF>
real memory  = 1073414144 (1023 MB)
avail memory = 1041235968 (993 MB)
ACPI APIC Table: <A M I  OEMAPIC >
MADT: Forcing active-low polarity and level trigger for SCI
ioapic0 <Version 0.3> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <A M I OEMXSDT> on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, 3fef0000 (3) failed
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: <ACPI CPU> on acpi0
powernow0: <Cool`n'Quiet K8> on cpu0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <VIA K8T800Pro host to PCI bridge> on hostb0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
vgapci0: <VGA-compatible display> mem 0xfb000000-0xfbffffff,0xe0000000-0xefffffff,0xfa000000-0xfaffffff at device 0.0 on pci1
atapci0: <Promise PDC20378 SATA150 controller> port 0xa800-0xa83f,0xa400-0xa40f,0xa000-0xa07f mem 0xf9a00000-0xf9a00fff,0xf9900000-0xf991ffff irq 18 at device 8.0 on pci0
atapci0: [ITHREAD]
atapci0: [ITHREAD]
ata2: <ATA channel 0> on atapci0
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci0
ata3: [ITHREAD]
ata4: <ATA channel 2> on atapci0
ata4: [ITHREAD]
pci0: <multimedia, video> at device 9.0 (no driver attached)
skc0: <Marvell Gigabit Ethernet> port 0xb000-0xb0ff mem 0xf9c00000-0xf9c03fff irq 17 at device 10.0 on pci0
skc0: Marvell Yukon Lite Gigabit Ethernet rev. (0x9)
sk0: <Marvell Semiconductor, Inc. Yukon> on skc0
sk0: Ethernet address: 00:13:d4:78:a4:4e
miibus0: <MII bus> on sk0
e1000phy0: <Marvell 88E1011 Gigabit PHY> PHY 0 on miibus0
e1000phy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX-FDX, auto
skc0: [ITHREAD]
atapci1: <VIA 6420 SATA150 controller> port 0xd000-0xd007,0xc800-0xc803,0xc400-0xc407,0xc000-0xc003,0xb800-0xb80f,0xb400-0xb4ff irq 20 at device 15.0 on pci0
atapci1: [ITHREAD]
ata5: <ATA channel 0> on atapci1
ata5: [ITHREAD]
ata6: <ATA channel 1> on atapci1
ata6: [ITHREAD]
atapci2: <VIA 8237 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 15.1 on pci0
ata0: <ATA channel 0> on atapci2
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci2
ata1: [ITHREAD]
uhci0: <VIA 83C572 USB controller> port 0xd400-0xd41f irq 21 at device 16.0 on pci0
uhci0: [GIANT-LOCKED]
uhci0: [ITHREAD]
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: <VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
uhci1: <VIA 83C572 USB controller> port 0xd800-0xd81f irq 21 at device 16.1 on pci0
uhci1: [GIANT-LOCKED]
uhci1: [ITHREAD]
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: <VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1
uhub1: 2 ports with 2 removable, self powered
uhci2: <VIA 83C572 USB controller> port 0xe000-0xe01f irq 21 at device 16.2 on pci0
uhci2: [GIANT-LOCKED]
uhci2: [ITHREAD]
usb2: <VIA 83C572 USB controller> on uhci2
usb2: USB revision 1.0
uhub2: <VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb2
uhub2: 2 ports with 2 removable, self powered
uhci3: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 21 at device 16.3 on pci0
uhci3: [GIANT-LOCKED]
uhci3: [ITHREAD]
usb3: <VIA 83C572 USB controller> on uhci3
usb3: USB revision 1.0
uhub3: <VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb3
uhub3: 2 ports with 2 removable, self powered
ehci0: <VIA VT6202 USB 2.0 controller> mem 0xf9e00000-0xf9e000ff irq 21 at device 16.4 on pci0
ehci0: [GIANT-LOCKED]
ehci0: [ITHREAD]
usb4: waiting for BIOS to give up control
usb4: timed out waiting for BIOS
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <VIA VT6202 USB 2.0 controller> on ehci0
usb4: USB revision 2.0
uhub4: <VIA EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb4
uhub4: 8 ports with 8 removable, self powered
umass0: <SMI Corporation USB DISK, class 0/0, rev 2.00/20.40, addr 2> on uhub4
isab0: <PCI-ISA bridge> at device 17.0 on pci0
isa0: <ISA bus> on isab0
pci0: <multimedia, audio> at device 17.5 (no driver attached)
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0
fdc0: <floppy drive controller (FDE)> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FILTER]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xcf800-0xd37ff pnpid ORM0000 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ukbd0: <vendor 0x046a product 0x0023, class 0/0, rev 2.00/0.27, addr 2> on uhub0
kbd2 at ukbd0
uhid0: <vendor 0x046a product 0x0023, class 0/0, rev 2.00/0.27, addr 2> on uhub0
ums0: <Logitech USB Receiver, class 0/0, rev 1.10/25.00, addr 2> on uhub2
ums0: 16 buttons and Z dir.
Timecounter "TSC" frequency 2202839595 Hz quality 800
Timecounters tick every 1.000 msec
ad0: 190782MB <Seagate ST3200822A 3.01> at ata0-master UDMA100
acd0: DVDR <HL-DT-ST DVDRAM GSA-H44N/RB00> at ata0-slave UDMA66
ad10: 190782MB <Seagate ST3200826AS 3.03> at ata5-master SATA150
ad12: 190782MB <Seagate ST3200826AS 3.03> at ata6-master SATA150
GEOM_LABEL: Label for provider ad10s1 is ext2fs/home.
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <USB Flash Disk 2040> Removable Direct Access SCSI-0 device
da0: 40.000MB/s transfers
da0: 481MB (985088 512 byte sectors: 64H 32S/T 481C)
GEOM_LABEL: Label for provider da0s1 is msdosfs/ .
Trying to mount root from ufs:/dev/ad12s2a
GEOM_LABEL: Label ext2fs/home removed.
 
So, ich habe die TV-Karte mal ausgebaut; daran hat es offenbar nicht gelegen. Bei kräftigem Kompilieren rückt das System noch immer fröhlich vor sich hin.

Jetzt weiß ich natürlich beim Portupgrade nicht, ob es an der Prozessorleistung oder der Festplattenlast liegt. Was ist der einfachste Weg, beides jeweils getrennt voneinander zu erzeugen?
 
Für die Festplatten kannst du bonnie verwenden.

Für die CPU (und den Speicher) am Besten ubench. Dazu gibts ja nen Thread im Forum, da findest du sicher ähnliche Hardware zum Vergleichen.

Hast du schon eine Live-CD ausprobiert?

mousaka
 
Naja, jeder Aufruf für sich bringt das System nicht in Bedrängnis.
Code:
[root@blade:~]# bonnie
File './Bonnie.97921', size: 104857600
Writing with putc()...done
Rewriting...done
Writing intelligently...done
Reading with getc()...done
Reading intelligently...done
Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done...
              -------Sequential Output-------- ---Sequential Input-- --Random--
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
          100 38797 24.8 29716  4.2 33882  5.1 87788 72.6 1724254 95.2 119346.0 80.6
sowie
Code:
[root@blade:~]# ubench
Unix Benchmark Utility v.0.3
Copyright (C) July, 1999 PhysTech, Inc.
Author: Sergei Viznyuk <sv@phystech.com>
http://www.phystech.com/download/ubench.html
FreeBSD 7.0-CURRENT FreeBSD 7.0-CURRENT #3: Wed Sep 26 20:43:01 CEST 2007     stell@blade.crashmail.de:/usr/obj/usr/src/sys/BLADE i386
Ubench CPU:   100986
Ubench MEM:    66017
--------------------
Ubench AVG:    83501

Starte ich beide, wird es ein bißchen eng. Oder ist es jetzt besser als mit TV-Karte? Ich glaube, ich lass das für heute, ich bin zu keiner 'objektiven' Einschätzung mehr fähig.
 
Habe hier einen Pentium M 1.6 Ghz und 512mb RAM. System ist ein FreeBSD 7.0-CURRENT. Das Ganze läuft meist in einem Ion mit ein paar KDE-Apps und insgesamt sehr performant. Sobald ich allerdings irgendetwas kompiliere brauche ich im Grunde nicht mehr versuchen mit dem System noch etwas anderes zu machen.

Auf dem selben Rechner hatte ich mit einem Slackware auch unter Last keine Hänger.
 
Hmm, ich habe einen Athlon XP 2400+ und 512 MB RAM und wenn ich was kompiliere, dann muss ich eigentlich immer erstmal nachgucken, ob er schon fertig ist oder nicht. Klar, Programmstarts sind langsamer aber sonst merke ich das kaum, wenn er am arbeiten ist.

Ich habe das schon, wenn fsck im Hintergrund läuft, dann ist mein System auch immer total am Ende aber ich glaube das ist normal.

Hab' übrigens auch ne Nvidia-Karte (TI 4800SE), also daran sollte es auch nicht liegen. Ich habe ein ähnliches Phänomen unter Windows XP, da ist das System bei Belastung auch fast unmöglich zu bedienen, den Fehler hab ich bisher auch nicht finden können...
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben