ZFS Solaris – ARC Speicher optimal einstellen

Ich habe vor einiger Zeit für unser Rechenzentrum ein schönes großes Fibrechannel System auf Solaris 11 Basis mit ZFS erstellt. Das ganze läuft auch super und sicher. Ich werde in der nächsten Zeit darüber bestimmt noch mehr berichten. Auffällig war immer das von unseren 74 Gb Speicher die wir eingebaut haben, knapp 10 GB frei blieben. Nach einigen Lesestunden bei Oracle, fand ich raus das es sich hier um eine Sicherheit handelt die schon vor Urzeiten eingebaut wurde. Es wird ein Teil des Speichers für das System selber zurückgehalten. Als das ganze jedoch entwickelt wurde, waren 8 GB Speicher schon richtig viel. Anzeigen lassen kann man sich die größe mit dem Befehl:

root@storage:~# echo "swapfs_minfree/D" | mdb -k
swapfs_minfree:
swapfs_minfree: 2358757

Genauer unter unter swapfs_minfree. Dies sind die Pages die für das System mindestens frei bleiben müssen und nicht vom cachesystem genutzt werden dürfen. Jetzt muss man jedoch noch genauer ausrechnen wieviel es denn nun wirklich ist. Dafür verwenden wir folgende Formel:

swapfs_minfree * 4KB = Reserve in KB

Mit den Daten von oben gefüllt ergibt das:

2358757 pages * 4 KB = 9435028 Kb = 9.2 GB

Nun möchte ich den Speicher auf unserem System optimal nutzen, da wir nur einen reinen Fileserver haben der nichts anderes macht. Daher soll das System auf maximal 1Gb Speicher zugreifen. Dazu verwende ich im Betrieb folgenden Befehl unter Solaris!

echo swapfs_minfree/W0t262144 | mdb -kw

Damit haben wir es im laufenden Betrieb erledigt. Um das ganze auch nach einem Neustart des Systems zu behalten können wir die Datei /etc/system bearbeiten und folgendes ans Ende eingeben:

set swapfs_minfree=262144

Ab jetzt wird der Speicher optimal verwendet und es liegt kein teurer Arbeitsspeicher mehr brach.

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *