Tuning mbclusters und anderes Sachen

kai_001

Well-Known Member
Hallo,


habe diesen Link klick gefunden und wollte es mal ausprobieren ( eventuell hat von euch noch einer solche Links parat ).

Bin dabei gleich am Anfang aber auf eine unbekannte sysctl Variable gestoßen .... kern.ipc.mbclusters.

Kann es sein, dass diese sich durch andere Werte berechnet und daher bei mir nicht vorhanden ist? Habe auf nem 6.2er und nem 7.0er Release geschaut.

Was haltet ihr sonst von diesem Link?

Danke und viele Grüße
Kai
 
An sich ist der Link sehr gut, er fasst eine Reihe Tricks und Tipss zusammen, die nicht wirklich bekannt sind. Es lohnt sich daher auf jeden Fall sich mit ihm auseinanderzusetzen. Allerdings einige Anmerkungen dazu. FreeBSD bis einschließlich 4.11 war zum großen Teil auf dich als Benutzer angewiesen um seine Ressourcen zu verteilen. Man denke an die fast legendäre Option "MAXUSERS" im Kernel. Seit 5.0 kann der Kernel eine Reihe Parameter anhand der Hardware automatisch einstellen, so z.B. die maximale Anzahl an Prozessen und offenen Dateien. Es ist meist wenig sinnvoll in diese Automatismen einzugreifen, außer man hat einen guten Grund.
Einige der Einstellungen in dem Artikel sind auch nicht ganz ungefährlich, woraufhin leider nicht hingewiesen wird. Ich denke dabei vor allem an options KVA_PAGES=512. Diese Option macht nicht weniger, als den Anteil des Kernel am virtuellen Adressraum eines Prozesses zu verdoppeln. Nicht jeder Prozess mag dies, es kann unter Umständen richtig schön unnachvollziebar knallen. Wer einen so groß Adressraum benötigt, sollte lieber ein FreeBSD/amd64 nehmen und von dieser Option die Finger lassen. Das gleiche gilt für vm.kmem_size=1G. Zwar gilt der alte Spruch "mit dem Kernelspeicher nicht sparsam sein!" aus 4.x Zeiten auch heute noch, aber wenn man nicht gerade Dinge mit wirklich großen Speicheranforderungen hat (ZFS z.b.) ist es kaum sinnvoll hier über 640 Megabyte zu gehen. Alles andere ist meist einfach Verschwendung.
Das ganze sind nun natürlich pauschalisierte Aussagen, die nicht immer korrekt sind und sehr vom Einsatzgebiet abhängen. Am Ende ist der einzig wirklich gute Rat, die Angaben im Artikel als Ausgangspunkt zu sehen und ein wenig mit ihnen zu experimentieren. Nur so kann man optimale Ergebnisse erreichen.

Den kern.ipc.nmbclusters habe ich in einem FreeBSD 7.0 amd64 und er steht unverändert auf 25600. Vermutlich hängt es an irgendeinem Kernelmodul oder einer anderen Einstellung, die dir fehlt. Was genau es ist, weiß ich leider nicht :/
 
Hi,

danke für die schnelle und super Antwort.

kern.ipc.nmbclusters habe ich ... nur ist kern.ipc.mbclusters unbekannt *grübel*

Sollen anscheinend unterschiedliche Params sein .... habe ein paar alte Sachen gefunden die sich auf maxusers beziehen ... was sich mir aber nicht wirklich erschließt :-(

Danke
Kai
 
OK, eine späte Antwort:
MAXUSERS war in Zeiten von 4.x eine Kerneloption, die die Größe einiger Datenstrukturen beeinflusste. Z.B. die maximale Anzahl von Prozessen und von geöffneten Dateien. Konnte man wirklich lange drüber nachdenken und diskutieren, was denn nun ein optimaler Wert wäre. Da gab es denn Faustformeln wie "Anzahl der Nutzer / 1,5 * 4" und so. Neuere FreeBSD, beginnend mit 5.0, haben meines Wissens die Option zwar noch, aber man benötigt sie nicht mehr, weil der Kernel eine ganze Reihe Parameter automatisch einstellen kann und auch tut :)

in NOTES steht dazu (auf einem 6.3):
Code:
# The `maxusers' parameter controls the static sizing of a number of
# internal system tables by a formula defined in subr_param.c.
# Omitting this parameter or setting it to 0 will cause the system to
# auto-size based on physical memory.

Kurz gesagt, wenn du nicht etwas sehr spezielles planst, brauchst du die Option nicht. Du würdest vermutlich eher Schaden anrichten als irgendeinen Nutzen zu gewinnen.
 
Zurück
Oben