FreeBSD8, 64bit, ZFS und Tuning

-Nuke-

Well-Known Member
Hiho.

Ich habe ja nun meinen ZFS-Server mit 4GB (-32MB OnBoard Grafik ;)) und frage mich nun, ob ich ZFS noch in irgend einer Weise "tunen" muss.

Man liest ja an allen Ecken und Enden, dass man Tunen MUSS. Aber dies lese ich meist nur im Zusammenhang mit entweder:
a) FreeBSD 7
b) 1GB RAM
c) 32bit

Daher wollte ich mal Fragen wie das nun mit FreeBSD 8, 64bit und 4GB RAM aussieht. Muss man dort immer noch den ARC usw. begrenzen? Die Kiste wird reiner NFS-Fileserver. Mehr nicht, außer die Systemdienste. Quasi eine große externe Festplatte :ugly:
 

Yamagi

Possessed With Psi Powers
Teammitglied
Genau. FreeBSD 8.0 benötigt keine weiteren Änderungen um ZFS ausführen zu können. Zumindest, wenn es ein AMD64 ist. Ein altes i386 ist schon dadurch benachteiligt, dass sein Adressraum recht klein ist.
 

-Nuke-

Well-Known Member
OK. Dann kann's ja heute Abend losgehen :D 600GB Daten müssen drauf und weitere 1,5TB kommen noch...
 

UnUser

Well-Known Member
Auf der amd64 7.2 musste man, sofern man auch UFS auf dem Maschine benutzt, noch folgendes einstellen, da sonst unter heavy IO load regelmäßig deadlocks auftreten.

/etc/sysctl.conf

# zfs workaround wegen deadlocks 7.2 UFS<>ZFS

vfs.zfs.zil_disable=1
vfs.zfs.prefetch_disable=1

/boot/loader.conf

vfs.zfs.prefetch_disable="1" # zfs workaround 7.2 wegen deadlocks UFS<>ZFS
 

Yamagi

Possessed With Psi Powers
Teammitglied
Das benötigt man nicht mehr. Sollte man auch nicht einschalten, denn ohne ZIL ist ZFS reichlich sinnlos. Es ist zwar atomar konsistent, geht also nicht kaputt, aber man hat wieder das vom UFS bekannte Softupdate-Lag.
 

-Nuke-

Well-Known Member
Also irgendetwas muss noch eingestellt werden...

Wenn ich eine große Datei auf den Server kopiere macht er alle paar Sekunden eine ziemlich lange Pause. Da schreibt ZFS wohl seinen Cache auf die Platte oder so. Wenn Compression an ist, wird es "schlimmer".

Jemand eine Idee wie man es optimieren kann? Oder muss man damit leben. Weil während der Pause geht auf dem Server nichts. SSH stockt usw.

Hier mal die Ausgabe von zpool iostat 1

Code:
FreeBSD# zpool iostat 1
               capacity     operations    bandwidth
pool         used  avail   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
datapool    1,15G  4,06T      0     50    978  6,09M
datapool    1,15G  4,06T      0    268      0  33,6M
datapool    1,15G  4,06T      0    257      0  32,2M
datapool    1,15G  4,06T      0    343      0  42,9M
datapool    1,15G  4,06T      0    257      0  32,2M
datapool    1,15G  4,06T      0    257      0  32,2M
datapool    1,15G  4,06T      0    257      0  32,2M
datapool    1,15G  4,06T      0    197      0  24,7M
datapool    1,15G  4,06T      0    231      0  28,9M
datapool    1,15G  4,06T      0     19      0  2,50M  << hier macht er Pause
datapool    1,15G  4,06T      0  1,85K      0   236M
datapool    1,15G  4,06T      1  1,26K  1,50K   147M
datapool    1,72G  4,06T      0    220      0  27,6M  << bis hier
datapool    1,72G  4,06T      0    256      0  32,1M
datapool    1,72G  4,06T      0    257      0  32,2M
datapool    1,72G  4,06T      0    256      0  32,1M
datapool    1,72G  4,06T      0    256      0  32,1M
datapool    1,72G  4,06T      0    270      0  33,8M
datapool    1,72G  4,06T      0    245      0  30,7M
datapool    1,72G  4,06T      0    257      0  32,2M
datapool    1,72G  4,06T      0    257      0  32,2M
datapool    1,72G  4,06T      0    257      0  32,2M
datapool    1,72G  4,06T      0    343      0  42,9M
datapool    1,72G  4,06T      0    171      0  21,5M
datapool    1,72G  4,06T      0    257      0  32,2M
datapool    1,72G  4,06T      0    257      0  32,2M
datapool    1,72G  4,06T      0    257      0  32,2M
datapool    1,72G  4,06T      0     27      0  3,38M  << hier macht er Pause
datapool    1,72G  4,06T      0  1,79K      0   229M
datapool    1,72G  4,06T      0  1,37K    510   155M
datapool    2,28G  4,06T      0    225      0  28,2M  << bis hier
datapool    2,28G  4,06T      0    257      0  32,2M
datapool    2,28G  4,06T      0    257      0  32,2M
datapool    2,28G  4,06T      0    257      0  32,2M
datapool    2,28G  4,06T      0    257      0  32,2M
...
 
Zuletzt bearbeitet:

cla

Well-Known Member
Über welches Protokoll kopierst du deine Daten auf den Server? Und was für eine Raid-Art ist dein Pool?
 

-Nuke-

Well-Known Member
Über welches Protokoll kopierst du deine Daten auf den Server? Und was für eine Raid-Art ist dein Pool?

Es ist ein raidz1 und ich kopiere es per NFSv3 auf den Server (Client ist OS X 10.6 auf einem MacBook). Aber über SSH tritt der gleiche Effekt auf. Jemand anderes meinte das sei vollkommen normal, dass es so ist... hmmm... weiß nicht ^_^
 

cla

Well-Known Member
Ich konnte selbiges Phänomen auch schon (und ganz extrem) beobachten...das war aber noch mit meiner alten ZFS v6 Installation unter FBSD 7.1.
Meine neue Installation hab ich aus Zeitgründen noch nicht weitergehen testen können.

Als "ganz normal" würde ich das allerdings auch nicht bezeichnen...
 

lockdoc

Well-Known Member
Also ich würde noch empfehlen beim mounten "noatime" zu setzen, damit nicht bei jedem Lesebefehl die Zugriffszeit zurück auf die Platte geschrieben werden muss.
 

-Nuke-

Well-Known Member
noatime verändert an der Problematik nichts.

Mal ein Beispiel wie es hier abläuft:
Ich spiele von der NFS-Freigabe Musik ab und bin per SSH verbunden. Jetzt kopiere ich eine 1GB große Datei auf den Server. Was dann in den besagten Abständen passiert ist folgendes:

1) SSH reagiert nicht
2) Musik bleibt stehen
3) Kopiervorgang hält an

Dann 2-3s später fängt der Kopiervorgang wieder an, SSH reagiert wieder und die Musik läuft weiter, bis es wieder passiert. Es ist dabei unerheblich ob ich die Daten per NFS oder SCP rauf kopiere.

Also ich kann mir auch echt nicht vorstellen, dass das bei ZFS jetzt einfach mal so ist, das bei etwas iolast gleich das gesamte System stehen bleibt. Weil dann wäre ZFS ja zu nichts zu gebrauchen, wenn die ganzen Storage-Server regelmäßig in Sekundenabschnitten stehen bleiben. knapp 2,5GB RAM sind dann auch noch unangetastet, also kann es auch nicht am RAM-Mangel liegen.

Ich meint, wenn nur der Kopiervorgang kurz mal stehen bleibt, wäre das ja kein Ding, aber alles? :/
 
Zuletzt bearbeitet:

kai_001

Well-Known Member
Hi,

selbes Problem hier, sehr massiv sogar.

FreeBSD 8RC2 ( amd64, 4GB RAM ) stellt zpool per NFS an 15 Webserver zur Verfügung. Es dauert nicht lange und die Webserver fangen an zu hängen.

Auf dem zfs Server geht die Netzwerkauslastung von em0 / em1 in top auf bis zu 40% ????

ZFS Problem? Eventuell hat jemand eine Idee? Die Clients sind alle 7.1er RELEASES mit Apache und PHP drauf. ZFS als Storage für Bilddaten.


Habt Ihr ne Idee?

Gruß
Kai
 

pit234a

Well-Known Member
Macht er da wirklich Pause?
Wie sieht das denn auf Client-Seite aus? Wenn die Daten eben in den Speicher laufen, der ja eventuel reichlich vorhanden ist, dann ist das von Anwenderseite her doch egal, sieht aber auf der Server-Seite immer ein wenig unbeholfen aus.
Ich stelle einfach mal ein Protokoll her, das nun aktuell von meinem Filserver kommt.
Also, genauer gesagt sind es ja drei Protokolle.
Im ersten Durchlauf sah ich halt hin und nachdem ich das sah, guckte ich, wer das nutzte und fand, dass ein einziger User (eine digitale Sat-Receiver-Box) Daten speichert. Das kommt dem normalen Gebrauch bei mir nahe. Fast immer passiert nichts anders, als dass solche Filme aufgezeichnet und/oder abgespielt werden. Clients sind dabei busybox/Linux und Mac-OS-X und ein oder zwei FreeBSD Rechner.
Um dann eine deutlichere Asusage zu bekommen, kopierte ich ein wenig nach meinem aktuellen Rechner und dann auch noch von diesem zurück (gleichzeitig) und da war FreeBSD als NFS3 Client. ftp scheint generell schneller zu sein.
Also, die Ausgaben:
Code:
files# zpool iostat 1
               capacity     operations    bandwidth
pool         used  avail   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
raid1       2,65T  1,90T      1      4   101K   249K
raid1       2,65T  1,90T     36     36  4,62M  4,62M
raid1       2,65T  1,90T      0      0      0      0
raid1       2,65T  1,90T      0    133      0  4,40M
raid1       2,65T  1,90T      0      0      0      0
raid1       2,65T  1,90T      0     36      0  4,62M
raid1       2,65T  1,90T     34      0  3,76M      0
raid1       2,65T  1,90T     65      0  7,88M      0
raid1       2,65T  1,90T      8    132   659K  4,28M
raid1       2,65T  1,90T     13     36  1,75M  4,62M
raid1       2,65T  1,90T      0      0      0      0
raid1       2,65T  1,90T     17      0  2,01M      0
raid1       2,65T  1,90T     29      0  3,75M      0
raid1       2,65T  1,90T      3    262   511K  7,92M
raid1       2,65T  1,90T     17     10  2,25M  1,37M
raid1       2,65T  1,90T     27      0  3,50M      0
raid1       2,65T  1,90T    199      0  24,7M      0
raid1       2,65T  1,90T     18      0  2,01M      0
raid1       2,65T  1,90T     43    181  5,49M  10,1M
raid1       2,65T  1,90T      0      0      0      0
raid1       2,65T  1,90T      0      0      0      0
raid1       2,65T  1,90T      0      0      0      0
raid1       2,65T  1,90T      0     36      0  4,62M
raid1       2,65T  1,90T      4    133   273K  4,40M
raid1       2,65T  1,90T     43      0  5,37M      0
raid1       2,65T  1,90T      0      0      0      0
raid1       2,65T  1,90T      0     36      0  4,62M
raid1       2,65T  1,90T      0      0      0      0
raid1       2,65T  1,90T      0    133      0  4,40M
raid1       2,65T  1,90T     31      0  3,76M      0
raid1       2,65T  1,90T     42      0  5,37M      0
raid1       2,65T  1,90T      0     36      0  4,62M
raid1       2,65T  1,90T      0      0      0      0
raid1       2,65T  1,90T      0    135      0  4,40M
raid1       2,65T  1,90T      0     27      0  3,49M
raid1       2,65T  1,90T      0      8      0  1,12M
raid1       2,65T  1,90T     18      0  2,01M      0
raid1       2,65T  1,90T     26      0  3,37M      0
raid1       2,65T  1,90T      0    169      0  4,51M
raid1       2,65T  1,90T      0     36      0  4,62M
raid1       2,65T  1,90T      0      0      0      0
raid1       2,65T  1,90T      0      0      0      0
raid1       2,65T  1,90T      0     19      0  2,50M
raid1       2,65T  1,90T      0    139      0  5,15M
^C
files# zpool iostat 1
               capacity     operations    bandwidth
pool         used  avail   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
raid1       2,65T  1,90T      1      4   101K   249K
raid1       2,65T  1,90T      0      0  6,49K      0
raid1       2,65T  1,90T    258      0  32,0M      0
raid1       2,65T  1,90T    258     36  32,0M  4,62M
raid1       2,65T  1,90T      0      0      0      0
raid1       2,65T  1,90T    258    133  32,0M  4,40M
raid1       2,65T  1,90T    258     26  32,0M  3,37M
raid1       2,65T  1,90T    257      8  32,0M  1,12M
raid1       2,65T  1,90T      0      0      0      0
raid1       2,65T  1,90T    257      0  32,0M      0
raid1       2,65T  1,90T    258    138  32,0M  5,04M
raid1       2,65T  1,90T    257     28  32,0M  3,62M
raid1       2,65T  1,90T      0      0      0   128K
raid1       2,65T  1,90T    257      0  32,0M      0
raid1       2,65T  1,90T    257      0  32,0M      0
raid1       2,65T  1,90T      0    162  5,99K  7,79M
raid1       2,65T  1,90T    257      0  32,0M      0
raid1       2,65T  1,90T      0      0  6,49K      0
raid1       2,65T  1,90T    258      0  32,0M      0
raid1       2,65T  1,90T      0      0      0      0
raid1       2,65T  1,90T    257    286  32,0M  11,0M
raid1       2,65T  1,90T      0      0      0      0
raid1       2,65T  1,90T    258      0  32,0M      0
raid1       2,65T  1,90T    257     26  32,0M  3,37M
raid1       2,65T  1,90T      0      9  5,99K  1,25M
raid1       2,65T  1,90T    257    136  32,0M  4,41M
raid1       2,65T  1,90T      0      0  5,99K      0
raid1       2,65T  1,90T    258     26  32,0M  3,37M
raid1       2,65T  1,90T      0      8      0  1,12M
raid1       2,65T  1,90T    258      0  32,0M      0
raid1       2,65T  1,90T      0    134      0  4,28M
raid1       2,65T  1,90T    258      0  32,0M      0
raid1       2,65T  1,90T    208     37  25,7M  4,74M
raid1       2,65T  1,90T     50      0  6,25M      0
raid1       2,65T  1,90T     66      0  8,13M      0
raid1       2,65T  1,90T    304    197  37,8M  8,01M
raid1       2,65T  1,90T    257      9  32,0M  1,25M
raid1       2,65T  1,90T      0      0      0      0
^C
files# zpool iostat 1
               capacity     operations    bandwidth
pool         used  avail   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
raid1       2,65T  1,90T      1      4   102K   249K
raid1       2,65T  1,90T      2    133   262K  16,7M
raid1       2,65T  1,90T    263     51  32,2M  6,49M
raid1       2,65T  1,90T     36    521  3,90M  48,4M
raid1       2,65T  1,90T    229     45  28,3M  5,74M
raid1       2,65T  1,90T    262     51  32,4M  6,49M
raid1       2,65T  1,90T    261     77  32,1M  9,74M
raid1       2,65T  1,90T    262     48  32,2M  6,12M
raid1       2,65T  1,90T     12    482   541K  39,4M
raid1       2,65T  1,90T    262     61  32,1M  7,74M
raid1       2,65T  1,90T    262     11  32,2M  1,50M
raid1       2,65T  1,90T    260     57  32,1M  7,24M
raid1       2,65T  1,90T    263     19  32,3M  2,50M
raid1       2,65T  1,90T    263    296  32,3M  23,1M
raid1       2,65T  1,90T    263     10  32,2M  1,37M
raid1       2,65T  1,90T      3     96   146K  12,1M
raid1       2,65T  1,90T    261     84  32,2M  10,6M
raid1       2,65T  1,90T     27     61  3,02M  7,74M
raid1       2,65T  1,90T    340    407  42,1M  37,6M
raid1       2,65T  1,90T    133     62  16,1M  7,86M
raid1       2,65T  1,90T    129     69  16,1M  8,74M
raid1       2,65T  1,90T    263     42  32,2M  5,37M
raid1       2,65T  1,90T      2    112  18,0K  14,1M
raid1       2,65T  1,90T    390    415  48,2M  37,8M
raid1       2,65T  1,90T      1    108   134K  13,6M
raid1       2,65T  1,90T    262     39  32,2M  4,99M
raid1       2,65T  1,90T    263     73  32,2M  9,24M
raid1       2,65T  1,90T      0    224  5,99K  28,1M
raid1       2,65T  1,90T    263    387  32,4M  34,3M
raid1       2,65T  1,90T    264     56  32,5M  7,12M
raid1       2,65T  1,90T      2     87   262K  11,0M
raid1       2,65T  1,90T    262     43  32,2M  5,49M
raid1       2,65T  1,90T    262    337  32,4M  42,2M
raid1       2,65T  1,90T      3    277   268K  20,9M
raid1       2,65T  1,90T    264     83  32,5M  10,5M
raid1       2,65T  1,90T    261     40  32,2M  5,12M
raid1       2,65T  1,90T      1     80  12,0K  10,1M
raid1       2,65T  1,90T    263    463  32,4M  52,6M
raid1       2,65T  1,90T    263    119  32,2M  6,54M
^C
files# top
last pid: 51511;  load averages:  0.54,  0.19,  0.07                 up 56+10:32:43  21:55:18
35 processes:  5 running, 30 sleeping
CPU:  0.0% user,  0.0% nice, 11.7% system, 13.5% interrupt, 74.8% idle
Mem: 22M Active, 2057M Inact, 1506M Wired, 1032K Cache, 145M Buf, 353M Free
Der Server ist ein FreeBSD 7.2-Release und er nutzt ein raidZ 5 mit fünf Platten, wobei das System auf einem USB-Stick liegt. Es ist immer noch ein Versuch, aber er funktioniert sehr gut und alle Anwender in meinem Haushalt bauen darauf, dass er funktioniert.
ZFS13 war schneller (nach erstem Ansehen), aber die FreeBSD-Versionen damit wollten auf diesem Rechner bisher nicht vom Stick booten. 8.0-RC2 habe ich nicht probiert, ich warte auf den Release.
Zum reibungslosen Absoielen von Filmen über das Lan brauchte VLC einige erhöhte Cache-Werte.
Das Kopieren von Daten in beiden Richtungen über das AFP (Mac) funktioniert gut und ohne Auffälligkeiten.
 

-Nuke-

Well-Known Member
Du schreibst nicht wirklich schnell Daten auf den Server, deshalb geht bei dir wohl alles Problemlos.
Du bist da ja bei ca. 10MB/s. Wenn ich Daten auf den Server schiebe, habe ich ~30MB/s, die iostat da verarbeitet. Hier kommt es zu den besagten Pausen bei mir.
 

kai_001

Well-Known Member
Hi,

genau ... habe so um die 70MB/s schreibend auf den zpool. Ich habe ein raidz2 ( Raid 6 ) ... eventuell ein Flaschenhals?


Kai
 

pit234a

Well-Known Member
Du schreibst nicht wirklich schnell Daten auf den Server, deshalb geht bei dir wohl alles Problemlos.
Du bist da ja bei ca. 10MB/s. Wenn ich Daten auf den Server schiebe, habe ich ~30MB/s, die iostat da verarbeitet. Hier kommt es zu den besagten Pausen bei mir.

Ah, das kann natürlich sein.
Meine Clienten sind nicht die schnellsten, mein Netz ist im Haus maximal 100er und die Festplatte des Rechners, den ich gestern benutzte um ein wenig zusätzlichen Traffic zu erzeugen ist eine ältere 2.5" 5400RPM, da ist auch nicht mehr zu erwarten.

Aber trotzdem: hast du dir das auch mal mit iftop auf dem Server angesehen?
Jedenfalls kann ich bei meinen langsamen Aktionen keine solchen Unterbrechungen im Datenstrom sehen. Das bedeutet aber natürlich nicht, dass nicht gleichzeitig der Raid ungleichmäßig laufen darf.
Es ist allerdings nicht einfach bei mir im regulären Gebrauch zu sehen, denn, wie gesagt werden fast immer nur Filme oder Musik abgespielt, selten Datenblöcke am Stück übertragen. Da ist der Datendurchsatz also eher harmlos und es erfolgt nur ein "gelegentlicher" Zugriff auf die Platten. Die rattern also nicht. Dazu müsste ich einen interenen Datentransfer starten. Ah ja, das mache ich doch mal:
Code:
files# zpool iostat 1
               capacity     operations    bandwidth
pool         used  avail   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
raid1       2,66T  1,89T      1      4   102K   252K
raid1       2,66T  1,89T      0      0      0      0
raid1       2,66T  1,89T      0      0      0      0
raid1       2,66T  1,89T      0      0      0      0
raid1       2,66T  1,89T      0      0      0      0
raid1       2,66T  1,89T    970     87   120M  10,4M
raid1       2,66T  1,89T    836    447   104M  53,6M
raid1       2,66T  1,89T  2,39K     21   303M  98,8K
raid1       2,66T  1,89T    329    720  40,2M  71,9M
raid1       2,66T  1,89T      0  1,31K      0   166M
raid1       2,66T  1,89T     10  1,85K  26,9K   215M
raid1       2,66T  1,89T  2,14K    169   273M  17,1M
raid1       2,66T  1,89T  1,38K    327   175M  29,9M
raid1       2,66T  1,89T    255  2,39K  31,9M   302M
raid1       2,66T  1,89T    123  1,13K  15,2M   118M
raid1       2,66T  1,89T      0      0      0      0
raid1       2,66T  1,89T      0      0      0      0
raid1       2,66T  1,89T      0      0      0      0
raid1       2,66T  1,89T      0      0      0      0
raid1       2,66T  1,89T      0      0      0      0
Das war eine Datei mit ziemlich genau 1GB und die habe ich von A nach B auf dem Raid kopiert. Zeigt dir das was?
Ich bin da zu unbedarft, wirklich was ablesen zu können. Vielleicht ist iostat nicht so gut dabei, Datenströme echt zu zeigen? Es scheint da immer nur gelegentlich einen Blick auf den raid zu werfen. Wenn überhaupt, dann sieht es für mich so aus, als würden Schreib- und Lesevorgänge ziemlich unabhängig voneinander durchgeführt.
 

Florian88

Well-Known Member
Ich habe gestern einen FreeBSD 7.2 (AMD64) Server auf 8.0 geupgraded. Das Upgrade verlief problemlos.

Ich habe folgende Tuningparameter aus der loader.conf entfernt, weil ich davon ausgegangen bin, dass sie für den ZFS Betrieb nicht mehr gebraucht werden:

Code:
vm.kmem_size="1024M"
vm.kmem_size_max="1024M"
vfs.zfs.arc_max="100M"
vfs.zfs.zil_disable=1
vfs.zfs.prefetch_disable=1

Heute Morgen hatte ich folgenden Kernel Panic:
kmem_malloc(131072): kmem_map to small 584880128 total allocated.

Nach einem reboot habe ich die Werte kontrolliert, die automatischen Einstellungen sehen wie folgt aus:
Code:
vm.kmem_size: 602353664
vm.kmem_size_max: 329853485875
vfs.zfs.arc_max: 376471040
vfs.zfs.zil_disable: 0
vfs.zfs.prefetch_disable: 1

vm.kmem_size_max ist offensichtlich viel zu groß.
Mir ist klar, dass ich den Wert wieder von Hand korrigieren kann, allerdings Frage ich mich warum ausgerechnet bei mir manuelle Eingriffe erforderlich sein sollten? Ich verwende weder exotische Hardware noch nen exotischen Kernel.
Ich wollte eigentlich nur wissen ob einem von euch das Problem bekannt ist oder ob es was neues ist und ich einen PR schreiben sollte?


Und noch ne Kleinigkeit die mir eben erst aufgefallen ist:

Server:
Code:
# dmesg |grep memory
real memory  = 2147483648 (2048 MB)
avail memory = 1794998272 (1711 MB)
Laptop:
Code:
dmesg |grep memory
real memory  = 2147483648 (2048 MB)
avail memory = 2060615680 (1965 MB)

Ich hatte auf bisher allen Computern eine geringe Differenz zwischen real memory und avail memory (siehe Laptop).
Aber sind die 300 MB auf dem Server normal? Ich kann nicht sagen ob dieser Wert erst seit dem Upgrade so seltsam ist oder immer schon war. Ist mir eben bei der Fehlersuche wegen des Kernelpanics zufällig aufgefallen.
 

troll

Well-Known Member
Zur Differenz real/avilable memory.
Ist durchaus im Rahmen des Üblichen. Ich hab eine Kiste, die 400MB verprasst.
Meine WS liegt bei 220MB Differenz.
 

Florian88

Well-Known Member
Hmmm,

ich habe gedacht ich könnte das Problem lösen, indem ich die alten Tuningparameter wiederherstelle, allerdings löst das das Problem nicht. Der Kernelpanic tritt immer noch auf und zwar in einer ganz bestimmten Situation:

Ich boote den Server. Danach habe ich noch ca. 1,5 GB Arbeitspeicher frei.
Dann versuche ich einen alten ZFS Snapshot zu löschen, den ich nicht mehr brauche. Parallel schaue ich mir mit top den Arbeitsspeicherverbrauch an. Der freie Speicher reduziert sich immer weiter. Den letzten Wert, denn ich per ssh sehen kann sind 300 MB, danach tritt der Kernelpanic auf.

Kann mir jemand helfen? Im Moment ist das Problem nicht kritisch weil Wochenende ist. Allerdings werde ich Ärger bekommen wenn es nicht bis Montag Morgen gelöst ist. Im Moment tritt es auch nur auf, wenn ich zfs destroy <Snapshot> durchführe, allerdings weiß ich nicht wie es sich verhält wenn nach dem Wochenende der Server unter Last gesetzt wird.

Hier noch ein paar Infos zum Server:
Verwendung:
Fileserver (FTP und Samba)

Kernel:
Code:
# diff -u GENERIC ALTQ27112009 
--- GENERIC     2009-11-27 17:32:12.000000000 +0100
+++ ALTQ27112009        2009-11-27 18:05:47.000000000 +0100
@@ -19,7 +19,7 @@
 # $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.531.2.4.2.2 2009/11/09 23:48:01 kensmith Exp $
 
 cpu            HAMMER
-ident          GENERIC
+ident          altq27112009
 
 # To statically compile in device wiring instead of /boot/device.hints
 #hints         "GENERIC.hints"         # Default places to look for devices.
@@ -318,3 +318,14 @@
 device         fwip            # IP over FireWire (RFC 2734,3146)
 device         dcons           # Dumb console driver
 device         dcons_crom      # Configuration ROM for dcons
+
+# Enable ALTQ Support
+
+options                ALTQ
+options                ALTQ_CBQ
+options                ALTQ_RED
+options                ALTQ_RIO
+options                ALTQ_HFSC
+options                ALTQ_PRIQ
+options                ALTQ_NOPCC
+

dmesg:
Code:
Copyright (c) 1992-2009 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 8.0-RELEASE #0: Fri Nov 27 19:07:26 CET 2009
    ############:/usr/obj/usr/src/sys/ALTQ27112009
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Athlon(tm) Dual Core Processor 4850e (2505.35-MHz K8-class CPU)
  Origin = "AuthenticAMD"  Id = 0x60fb2  Stepping = 2
  Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
  Features2=0x2001<SSE3,CX16>
  AMD Features=0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3DNow!>
  AMD Features2=0x11f<LAHF,CMP,SVM,ExtAPIC,CR8,Prefetch>
  TSC: P-state invariant
real memory  = 2147483648 (2048 MB)
avail memory = 1794027520 (1710 MB)
ACPI APIC Table: <GBT    GBTUACPI>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0: Changing APIC ID to 2
ioapic0 <Version 2.1> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <GBT GBTUACPI> on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, 6fce0000 (3) failed
Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
acpi_timer0: <32-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
acpi_hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 900
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
vgapci0: <VGA-compatible display> port 0xee00-0xeeff mem 0xd0000000-0xdfffffff,0xfdfe0000-0xfdfeffff,0xfde00000-0xfdefffff irq 18 at device 5.0 on pci1
pci1: <multimedia, HDA> at device 5.1 (no driver attached)
pcib2: <ACPI PCI-PCI bridge> irq 18 at device 10.0 on pci0
pci2: <ACPI PCI bus> on pcib2
re0: <RealTek 8168/8168B/8168C/8168CP/8168D/8168DP/8111B/8111C/8111CP/8111DP PCIe Gigabit Ethernet> port 0xde00-0xdeff mem 0xfdaff000-0xfdafffff,0xfdae0000-0xfdaeffff irq 18 at device 0.0 on pci2
re0: Using 1 MSI messages
re0: Chip rev. 0x3c000000
re0: MAC rev. 0x00400000
miibus0: <MII bus> on re0
rgephy0: <RTL8169S/8110S/8211B media interface> PHY 1 on miibus0
rgephy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
re0: Ethernet address: 00:1f:d0:9d:4b:f8
re0: [FILTER]
atapci0: <ATI IXP700/800 SATA300 controller> port 0xff00-0xff07,0xfe00-0xfe03,0xfd00-0xfd07,0xfc00-0xfc03,0xfb00-0xfb0f mem 0xfe02f000-0xfe02f3ff irq 22 at device 17.0 on pci0
atapci0: [ITHREAD]
atapci0: AHCI v1.10 controller with 6 3Gbps ports, PM supported
ata2: <ATA channel 0> on atapci0
ata2: port is not ready (timeout 0ms) tfd = 000001d0
ata2: software reset clear timeout
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci0
ata3: port is not ready (timeout 0ms) tfd = 000001d0
ata3: software reset clear timeout
ata3: [ITHREAD]
ata4: <ATA channel 2> on atapci0
ata4: port is not ready (timeout 0ms) tfd = 000001d0
ata4: software reset clear timeout
ata4: [ITHREAD]
ata5: <ATA channel 3> on atapci0
ata5: port is not ready (timeout 0ms) tfd = 000001d0
ata5: software reset clear timeout
ata5: [ITHREAD]
ata6: <ATA channel 4> on atapci0
ata6: port is not ready (timeout 0ms) tfd = 000001d0
ata6: software reset clear timeout
ata6: [ITHREAD]
ata7: <ATA channel 5> on atapci0
ata7: port is not ready (timeout 0ms) tfd = 000001d0
ata7: software reset clear timeout
ata7: [ITHREAD]
ohci0: <OHCI (generic) USB controller> mem 0xfe02e000-0xfe02efff irq 16 at device 18.0 on pci0
ohci0: [ITHREAD]
usbus0: <OHCI (generic) USB controller> on ohci0
ohci1: <OHCI (generic) USB controller> mem 0xfe02d000-0xfe02dfff irq 16 at device 18.1 on pci0
ohci1: [ITHREAD]
usbus1: <OHCI (generic) USB controller> on ohci1
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xfe02c000-0xfe02c0ff irq 17 at device 18.2 on pci0
ehci0: [ITHREAD]
usbus2: EHCI version 1.0
usbus2: <EHCI (generic) USB 2.0 controller> on ehci0
ohci2: <OHCI (generic) USB controller> mem 0xfe02b000-0xfe02bfff irq 18 at device 19.0 on pci0
ohci2: [ITHREAD]
usbus3: <OHCI (generic) USB controller> on ohci2
ohci3: <OHCI (generic) USB controller> mem 0xfe02a000-0xfe02afff irq 18 at device 19.1 on pci0
ohci3: [ITHREAD]
usbus4: <OHCI (generic) USB controller> on ohci3
ehci1: <EHCI (generic) USB 2.0 controller> mem 0xfe029000-0xfe0290ff irq 19 at device 19.2 on pci0
ehci1: [ITHREAD]
usbus5: EHCI version 1.0
usbus5: <EHCI (generic) USB 2.0 controller> on ehci1
pci0: <serial bus, SMBus> at device 20.0 (no driver attached)
atapci1: <ATI IXP700/800 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfa00-0xfa0f at device 20.1 on pci0
ata0: <ATA channel 0> on atapci1
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci1
ata1: [ITHREAD]
pci0: <multimedia, HDA> at device 20.2 (no driver attached)
isab0: <PCI-ISA bridge> at device 20.3 on pci0
isa0: <ISA bus> on isab0
pcib3: <ACPI PCI-PCI bridge> at device 20.4 on pci0
pci3: <ACPI PCI bus> on pcib3
atapci2: <Promise PDC40718 SATA300 controller> port 0xcf00-0xcf7f,0xcc00-0xccff mem 0xfdcff000-0xfdcfffff,0xfdcc0000-0xfdcdffff irq 21 at device 7.0 on pci3
atapci2: [ITHREAD]
atapci2: [ITHREAD]
ata8: <ATA channel 0> on atapci2
ata8: [ITHREAD]
ata9: <ATA channel 1> on atapci2
ata9: SIGNATURE: 00000101
ata9: [ITHREAD]
ata10: <ATA channel 2> on atapci2
ata10: [ITHREAD]
ata11: <ATA channel 3> on atapci2
ata11: SIGNATURE: 00000101
ata11: [ITHREAD]
fwohci0: <Texas Instruments TSB43AB23> mem 0xfdcfe000-0xfdcfe7ff,0xfdcf8000-0xfdcfbfff irq 22 at device 14.0 on pci3
fwohci0: [ITHREAD]
fwohci0: OHCI version 1.10 (ROM=0)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:7c:51:b4:00:00:1f:d0
fwohci0: Phy 1394a available S400, 3 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
dcons_crom0: <dcons configuration ROM> on firewire0
dcons_crom0: bus_addr 0x147c000
fwe0: <Ethernet over FireWire> on firewire0
if_fwe0: Fake Ethernet address: 02:7c:51:00:1f:d0
fwe0: Ethernet address: 02:7c:51:00:1f:d0
fwip0: <IP over FireWire> on firewire0
fwip0: Firewire address: 00:7c:51:b4:00:00:1f:d0 @ 0xfffe00000000, S400, maxrec 2048
fwohci0: Initiate bus reset
fwohci0: fwohci_intr_core: BUS reset
fwohci0: fwohci_intr_core: node_id=0x00000000, SelfID Count=1, CYCLEMASTER mode
ohci4: <OHCI (generic) USB controller> mem 0xfe028000-0xfe028fff irq 18 at device 20.5 on pci0
ohci4: [ITHREAD]
usbus6: <OHCI (generic) USB controller> on ohci4
fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FILTER]
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
uart0: [FILTER]
ppc0: <Parallel port> port 0x378-0x37f irq 7 on acpi0
ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode
ppc0: [ITHREAD]
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
plip0: [ITHREAD]
lpt0: <Printer> on ppbus0
lpt0: [ITHREAD]
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
atrtc0: <AT realtime clock> port 0x70-0x73 on acpi0
cpu0: <ACPI CPU> on acpi0
powernow0: <PowerNow! K8> on cpu0
cpu1: <ACPI CPU> on acpi0
powernow1: <PowerNow! K8> on cpu1
orm0: <ISA Option ROM> at iomem 0xd0000-0xd4fff on isa0
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
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]
Timecounters tick every 1.000 msec
firewire0: 1 nodes, maxhop <= 0 cable IRM irm(0)  (me) 
firewire0: bus manager 0 
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 12Mbps Full Speed USB v1.0
usbus2: 480Mbps High Speed USB v2.0
usbus3: 12Mbps Full Speed USB v1.0
usbus4: 12Mbps Full Speed USB v1.0
usbus5: 480Mbps High Speed USB v2.0
usbus6: 12Mbps Full Speed USB v1.0
ugen0.1: <ATI> at usbus0
uhub0: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ugen1.1: <ATI> at usbus1
uhub1: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1
ugen2.1: <ATI> at usbus2
uhub2: <ATI EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2
ugen3.1: <ATI> at usbus3
uhub3: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus3
ugen4.1: <ATI> at usbus4
uhub4: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus4
ugen5.1: <ATI> at usbus5
uhub5: <ATI EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus5
ugen6.1: <ATI> at usbus6
uhub6: <ATI OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus6
ad4: 476938MB <SAMSUNG HD501LJ CR100-10> at ata2-master SATA300
ad6: 953869MB <WDC WD10EADS-00L5B1 01.01A01> at ata3-master SATA300
GEOM: ad4s1: geometry does not match label (255h,63s != 16h,63s).
uhub6: 2 ports with 2 removable, self powered
uhub0: 3 ports with 3 removable, self powered
uhub1: 3 ports with 3 removable, self powered
uhub3: 3 ports with 3 removable, self powered
uhub4: 3 ports with 3 removable, self powered
ad8: 953869MB <WDC WD10EACS-00D6B1 01.01A01> at ata4-master SATA300
ad10: 953869MB <WDC WD10EACS-00D6B1 01.01A01> at ata5-master SATA300
ad12: 953869MB <WDC WD10EACS-00D6B0 01.01A01> at ata6-master SATA300
ad14: 953869MB <WDC WD10EACS-00D6B0 01.01A01> at ata7-master SATA300
uhub2: 6 ports with 6 removable, self powered
uhub5: 6 ports with 6 removable, self powered
ad18: 953869MB <WDC WD10EADS-00L5B1 01.01A01> at ata9-master SATA300
ad22: 953869MB <WDC WD10EACS-00D6B0 01.01A01> at ata11-master SATA300
SMP: AP CPU #1 Launched!
Trying to mount root from ufs:/dev/ad4s1a
WARNING: / was not properly dismounted
ZFS filesystem version 13
ZFS storage pool version 13
WARNING: /home was not properly dismounted
WARNING: /tmp was not properly dismounted
WARNING: /usr was not properly dismounted
WARNING: /var was not properly dismounted
re0: link state changed to UP
 

Florian88

Well-Known Member
Danke Troll,

weisst du wie die Differenz zustande kommt?
Würde mich mal interessieren.
Aber schonmal gut zu wissen, dass es normal ist.
Mach mir grad echt Sorgen um den Server.
 

Florian88

Well-Known Member
Ah ok, liegt wahrscheinlich daran, dass der Server ne onboard Graka hat. Hab gedacht, den Ram den die Verbraucht nimmt sie aus dem avail memory.

Nun zurück zu meinem Kernel Panic:

Die Sache wird immer seltsamer:
Der oben beschriebende Kernelpanic, im Zusammenhang mit dem hohen Arbeitsspeicherverbrauch, tritt nur auf wenn ich einen ganz bestimmten Snapshot löschen will.
Bei mir wird jede Nacht um 3 Uhr ein Snapshot erstellt und für 30 Tage gehalten. Danach wird er wieder automatisch gelöscht (zfs-snapshot-mgmt).
Ich konnte alle snapshots, außer den vom 27.11. löschen. Wenn ich heute einen Neuen erstelle, kann ich auch diesen problemlos löschen. Nur der snapshot vom 27.11 führt zu dem Panic.
Der ZFS pool sollte fehlerfrei sein, ich habe heute Nacht ein scrub durchgeführt. Es traten keine Probleme auf.
 
Oben