FreeBSD 6.0 Tuning

ssn

Well-Known Member
hi,
habe keinen thread mit diesem thema/inhalt gefunden, also dacht ich mir es wär an der zeit :)
da freebsd6 ja noch beta is sind angeblich relativ viele debug mechanismen an die das system langsamer machen. nun ist die frage wie ich diese ausschalte und vielleicht darüber hinaus performance gewinnen kann.
irgendwelche ideen/links?

als erstes hab ich mir einen neuen kernel mit dieser config gebacken, cpu is ein 2500+ (barton).
 
ja es geht mir hier ja nicht nur um kernelseitige optimierung des systems :)
¤: wobei ich mir nicht sicher bin ob da nicht auch noch was geht, deshalb mach ich ja extra nen thread für sowas auf ;)
 
Zuletzt bearbeitet:
hat zwar etwas gedauert bis ich rausgefunden hab was das bewirkt, aber dankeschön :)
ok, grundsätzliche frage:
bringt die anpassung der compiler flags etwas?
als gentoo user bin ich in der hinsicht vielleicht etwas vorbelastet, und ich hab auch schon gelesen dass freebsd da etwas empfindlich ist, aber in meiner /etc/make.conf steht im moment noch nix washalb ich mich frage welche optionen überhaupt verwendet werden.
 
ssn schrieb:
[...]bringt die anpassung der compiler flags etwas?
als gentoo user bin ich in der hinsicht vielleicht etwas vorbelastet, und ich hab auch schon gelesen dass freebsd da etwas empfindlich ist, aber in meiner /etc/make.conf steht im moment noch nix washalb ich mich frage welche optionen überhaupt verwendet werden.
Falls du keine CFLAGS angibst, dann wird die Vorgabe aus /usr/share/mk/sys.mk verwendet. Diese lautet
Code:
CFLAGS          ?=      -O2 -fno-strict-aliasing -pipe
Es sollte in der Regel gewährleistet sein, dass das Basissystem mit den Vorgabewerten ohne Zwischenfälle kompiliert. Falls du andere Schalter verwendest und Probleme auftreten, dann müsstest du zunächst du der Vorgabe zurück um dann festzustellen, ob es daran lag. Was die Ports angeht, so verhält sich FreeBSD nicht anders als beispielsweise Gentoo. Es hängt vom Quelltext und vom verwendeten Compiler ab. Ich habe kürzlich auf der Mailingliste gelesen, dass man eventuell beabsichtigt für Ports einen separaten Schalter einzuführen, da nicht unbedingt jeder Port mit -O2 so richtig funktionieren will.

Ein Beispiel dazu, was kaputt gehen kann: bei "mozilla -mail" mit --march=pentium3 kann ich keine neuen E-Mails verfassen, weil sich kein weiteres Fenster mehr öffnet. :)

Björn
 
also meine gentoo flags sind abartig und alles funktioniert prächtig :)
gibts unter freebsd auch einen command mit dem ich nach geänderten flags "alles" neucompilen kann? (newuse world oder so).
für den kernel gibts ja glaub ich schon ne extra cflag option (find jetzt die seite nimmer wo das so schön dokumentiert war :( )
¤: die wars: http://wiki.bsd-crew.de/index.php/Make.conf_Optimal_nutzen
 
Zuletzt bearbeitet:
ssn schrieb:
also meine gentoo flags sind abartig und alles funktioniert prächtig :)
gibts unter freebsd auch einen command mit dem ich nach geänderten flags "alles" neucompilen kann? (newuse world oder so).
Nein, das ist auch nicht unbedingt notwendig. Um nur einen Grund zu nennen: Man erzielt mit unterschiedlichen Schaltern unterschiedliche Wirkung bei Software. Zum Beispiel läuft Programm A mit -Os schneller als mit -O2, andererseits wird Programm B mit -O2 schneller als bei -Os ausgeführt. Es ergibt dann nicht unbedingt einen Sinn sich bei beiden Programmen auf eine einzige Schalterkombination festzulegen, wenn man es auf die optimale Schalterkombination abgesehen hat. Weitere Ausführungen spare ich mir hier, damit das nicht in einer Grundsatzdiskussion ausartet. Wer Gentoo will, soll Gentoo benutzen und nicht wollen, dass andere Systeme sich wie Gentoo bedienen lassen. Hinter den Ports steckt ein ganz anderer Gedanke als bei Portage, weswegen Ports wohl nie so wie Portage sein wird und umgekehrt genauso wenig.

Björn
 
ich steige nicht umsonst auf freebsd um :)
mir gehts nur einfach darum die sachen die ich bis jetzt mit den standard flags kompiliert hab mit den erweiterten optimierungen noch mal zu kompilieren (geht ja auch händisch, wollte nur mal fragen obs eventuell ne möglichkeit gibt das automatisch zu machen).
 
ssn schrieb:
ich steige nicht umsonst auf freebsd um :)
mir gehts nur einfach darum die sachen die ich bis jetzt mit den standard flags kompiliert hab mit den erweiterten optimierungen noch mal zu kompilieren (geht ja auch händisch, wollte nur mal fragen obs eventuell ne möglichkeit gibt das automatisch zu machen).
Du kannst eine Liste der Software erstellen, alles deinstallieren und dann die Software auf der Liste neu kompilieren.

Zum Beispiel so
Code:
#!/bin/sh

pkg_info -E \* > liste
pkg_delete -r \*
for x in `cat liste`; do
    pkg_info -E $x || portinstall $x
done
rm -rf liste
(ungetestet)

Mir fallen da auch noch ein halbes Duzend Szenarien zu ein, wo das so nicht funktioniert.

Björn
 
Ein 'portupgrade -f \*' tuts auch. ;)

Dies baut haargenau alles nochmal, halt nur halt mir den neuen Settings in make.conf.

@ ssn:
Viele Ports schauen auf einen WITH_OPTIMIZED_CFLAGS Schalter. Also ruhig setzen vor dem Bauen. Btw. es lohnt sich immer einen Blick in die Port-Makefiles zu werfen. So sieht man welche Schalter abgefragt werden bzw. welche man setzen kann.

Gruß, robo
 
ok, lief alles soweit gut nur java macht zicken. gibts einen command mit dem ich einen port explizit mit anderen flags kompiliere?
 
Zurück
Oben