[HowTo] tmpfs für ports compilen

Fusselbär

Makefile Voyeur
Hallo,

seit einigen Monaten benutze ich das tmpfs auf FreeBSD als Bauplatz für das ports compilen.
So muss das System beim compilen nicht mehr auf Festplatten oder SSD Schreib- und Lesezugriffe warten und es dürfte auch zur Erhöhung der Lebensdauer des Laufwerks beitragen.
Genug RAM vorausgesetzt, sorgt die Verwendung von tmpfs auch während des ports compilern für ein schön flüssig weiter laufendes System.
Diese Erfahrung möchte ich gerne mit euch teilen.

Was bracht man dafür?
Klar, FreeBSD. :)
Außerdem die tmpfs Option im Kernel, einen tmpfs Eintrag in der /etc/fstab und einen Eintrag für das WRKDIRPREFIX auf dem tmpfs in der /etc/make.conf.
Hier im Einzelnen:
Nachschauen, ob die tmpfs Option schon in der Kernel conf vorhanden ist:
Code:
 grep TMPFS /usr/src/sys/`uname -m`/conf/`uname -i`
Das ist der tmpfs Eintrag in der Kernel conf:
Code:
options         TMPFS                   # TMPFS filesystem
Eintrag in der /etc/fstab:
Code:
tmpfs                   /tmp                    tmpfs           rw,late,mode=1777    0       0

Eintrag in der /etc/make.conf:
Code:
#----------------------------------------------------------------------------
# Use tmpfs for WRKDIRPREFIX
#----------------------------------------------------------------------------
WRKDIRPREFIX=/tmp/ports
 
Zuletzt bearbeitet:
Wenn tmpfs nicht im Kernel ist, kann man es auch als Modul laden:
Code:
kldload tmpfs
 
Ich würde sagen, kommt darauf an was du baust.

Ich denke so lange du die Finger von libreoffice lässt, könnten schon 8GB reichen.

Ich glaube ich probiere das gleich mal aus ... (ohne libreoffice). Ich denke für libreoffice is 16GB das absolute Minimum.
 
Also, im Moment baue ich openjdk7, weil das eh Anstand. Auf dem tmpfs sind im Moment gerade mal 944M belegt, der größte Prozess ist und bleibt Firefox 988M (res, size ist IMHO vollkommen egal).

Die Temperaturen im Gehäuse sind im, für das System, normalen Bereich:
Code:
> sysctl -a | grep temperature
hw.acpi.thermal.tz0.temperature: 56.0C
hw.acpi.thermal.tz1.temperature: 32.2C
hw.acpi.thermal.tz2.temperature: 100.0C
hw.acpi.thermal.tz3.temperature: 82.0C
hw.acpi.thermal.tz4.temperature: 77.0C

Speicherauslastung:
Code:
Mem: 1635M Active, 3519M Inact, 1972M Wired, 754M Buf, 772M Free
Swap: 8192M Total, 8192M Free

CPU Auslastung fällt gelegentlich runter bis 75%, das führe ich auf mangelnde Parallelisierbarkeit des Builds zurück. Aber die meiste Zeit stehen schon die 100% an.

Kurz gesagt, das ganze sieht ziemlich Harmlos aus. Ich lasse das mal eine Weile so laufen.

Auf der Tinderbox habe ich eine separate Partition auf einer eigenen Festplatte, die ich async Mounte. Libreoffice Sei dank reicht da der RAM auf keinen Fall. Aber für den Laptop scheint das tmpfs ganz brauchbar.

Ich habe tmpfs übrigens seinerzeit wegen Gimp eingeführt, da das statt den vefügbaren RAM zu benutzen ständig auf der Platte rumfuhrwerkte.
 
Ich denke so lange du die Finger von libreoffice lässt, könnten schon 8GB reichen.

Ich baue Libreoffice ganz geschmeidig auf dem tmpfs mit 8 GB RAM bei laufendem KDE4x und laufendem Firefox, der ebenfalls das tmpfs benutzt:
http://www.bsdforen.de/showthread.php?t=26321
Sollte tatsächlich mal der RAM vollständig genutzt werden, ist ja immer noch swap da, wenn es swapt, dann schreibt und liest es eben wieder vom Laufwerk.
 
Nun, der Platzbedarf sollte beim Bauen über 10GB liegen. Also, auch wenn es funktioniert, bezweifle ich, dass es da etwas bringt.
 
Zurück
Oben