ZFS Tuning amd64 8.1-PRERELEASE

kai_001

Well-Known Member
Hi,

anscheinend muss doch bissel umgestellt werden:

klick

Was sagt ihr dazu?

Grüße
Kai

PS: ich war auch davon betroffen, trotz 24GB RAM
 
Ich musste bei 8.0 amd64 bisher auch ähnliche Anpassungen vornehmen um keine Crashes zu bekommen.
Bei mir war ein Crash immer dann nachvollziehbar, wenn ich vom Tapelaufwerk ein ca. 230 GB großes File auf die Platte ziehen wollte. Bei ca. 120 GB ist er dann immer abgeschmiert.
(6 GB RAM in der Kiste)

Ich hatte eigentlich gehofft, das dies mit 8.1 jetzt dann endlich auch "gefixt" sein wird...sieht aber wohl noch nicht so aus.
 
vm.kmem_size="4096M"
vm.kmem_size_max="4096M"
vfs.zfs.arc_max="3072M"

Bei 6 GB RAM in der Maschine; und 4 TB Pool aus 6 Disks a 1 TB und RaidZ2.

Diese Werte sind wahrscheinlich nicht die optimalsten Einstellungen...aber meine Crashproblematik war damit seitdem behoben.
 
Ok,

hab jetzt mal eine Kiste ( 24G RAM, 14TB ) mit den Werten aus der Mailingliste angepasst ( x1.5 und /2 ). Auf alle Fälle geht wired endlich höher und der verfügbare RAM fällt. Mal schaun obs noch crashed.


Grüße
Kai
 
Hoi,

des is alles bärig seltsam. Ich han des mit 8 GB RAM und den selben Werten, allerdings mit 24 TB HD-Platz testet und bei mir rennts des bärig fein.

Gruß Bummibär
 
Es kommt drauf an, was man macht. Also, beginnend mit FreeBSD 8.0 ist die Kernel Map unter FreeBSD/amd64 in Standardeinstellung 6 Gigabyte groß. Das bedeutet, egal wie viel RAM du drin hast, der Kernel wird niemals mehr als diese 6 Gigabyte nutzen. Sind sie voll, ist Ende. Auch wenn noch 100 Gigabyte normaler RAM frei sein mögen. Nun ist das Grundproblem, dass die maximale Größe des Kernelspeichers nur einmal zur Bootzeit festgelegt wird. Auf was soll man diese Größe nun konfigurieren? Ist die Standardeinstellung zu niedrig, gibt es Probleme. Ist sie zu hoch, dreht ihr Nutzern mit nur wenig RAM (und damit meine ich schon Mengen von bis zu 8 GB) einfach den Hahn zu. Dann haben sie Probleme.

Diese 6 Gigabyte sind also ein Kompromiss, der für 98% der Nutzer ausreichend sein sollte. Wer deutlich mehr RAM hat, muss halt manuelles Tuning betreiben. In welcher Größe? Eine gute Frage... Als Faustregel hieß es mal, Zpool-Größe / 1000 ist grob der optimale Speicherbedarf. Aber was optimal ist, hängt eben auch davon ab, was man macht. Schreibt man riesige Datenmengen, wird einfach mehr RAM benötigt als wenn man es nicht tut.

Daher ist es, wie ich an anderer Stelle schrieb. FreeBSD 8.0 braucht für ZFS erst einmal kein Tuning. Das wird erst in dem Moment interessant, in welchem es Probleme gibt. Und dann stellt sich halt noch die grundlegende Frage, in welche Richtung man gehen will. Mehr RAM? Macht zumindest Sinn, wenn weniger als 8 GB in der Kiste stecken. Kernel-Map vergrößern? Es sollten hinterher trotzdem ca. 2 GB RAM mehr im System sein. Kernel-Map verkleinern? Wenn eben weniger als 8 GB RAM im System sind... So als Richtlinien über den Daumen.
 
Wenn ich mich nicht irre ist vfs.zfs.arc_max nach der Installation auf einem 8.0 auf einen _sehr_ grossen Wert gesetzt. Da nuetzt nun auch nichts, dass vm.kmem_size(_max) bereits auf einen ordentlichen Wert steht. vfs.zfs.arc_max ist in aller Regel viel zu hoch und unter nennenswerter Last wird jedes System frueher oder spaeter (bei mir nach sehr wenigen Tagen) stehenbleiben.

Konservativ betrachtet liegt eine einfache Loesung nahe: Wenn ZFS aktiviert wird, sollte in die loader.conf automatisch ein Eintrag gelangen, der vfs.zfs.arc_max auf 1/3 oder 1/2 des Arbeitsspeichers setzt und der Anwender sollte natuerlich auch einen Hinweis darueber erhalten und rebooten. Dann laeuft das System zuminest erst einmal stabil und vfs.zfs.arc_max kann spaeter noch optimal eingestellt werden, beispielsweise niedriger, wenn viele gierige Anwendungen aktiv sind oder hoeher, wenn das System nicht anderes zu tun hat. So einfach ist die Loesung.
 
Vielleicht doch ein Bug. Dieser Commit von vorhin klingt interessant:
Code:
  Date: Thu, 17 Jun 2010 19:41:42                                               
  From: Pawel Jakub Dawidek <pjd@FreeBSD.org>                                   
  To: src-committers@freebsd.org, svn-src-all@freebsd.org,                      
      svn-src-head@freebsd.org                                                  
  Subject: svn commit: r209261 -                                                
      head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs                       
                                                                                
  Author: pjd                                                                   
  Date: Thu Jun 17 17:41:42 2010                                                
  New Revision: 209261                                                          
  URL: http://svn.freebsd.org/changeset/base/209261                             
                                                                                
  Log:                                                                          
    Turn off UMA allocations on all archs by default. It isn't stable even on   
    amd64.                                                                      
                                                                                
    Reported by:        many                                                    
    MFC after:  3 days

UMA ist u.a. die kernelseitige Speicherverwaltung mit der berüchtigten kmem_map...
 
Hi,

ja, da waren schon Patches und Diskussionen drüber auf der Mailingliste. Aber gut zu wissen, danke!

Grüße
Kai
 
Zurück
Oben