# Festplatte schonen: /var/tmp/portage auf eigene Partition?

## hitachi

Hallo,

ist es sinnvoll, zb. einen USB-Speicher-Stick auf /var/tmp/portage zu mounten? Die Überlegung dahinter ist folgende: Beim Kompilieren wird viel auf die Festplatte zugegriffen. Außerdem kann ich mir vorstellen, dass die End-Datei, welche entsteht, recht fragmentiert ist. Wenn ich jetzt beim Kompilieren zb einen 8GB Speicher-Stick nutze, würde nicht auf die Festplatte zugegriffen. Kann ich damit die Wahrscheinlichkeit eines Festplattenausfalls minimieren und die Performance durch weniger Fragmente erhöhen? Diese USB Dinger kosten ja fast nichts mehr.

Welches Dateisystem würde ich auf einem USB Datenträger am besten nutzen?

Gruß

----------

## Evildad

Wäre es nicht sinnvoller ne RAMdisk zu verwenden. Speicher kostet ja auch fast nichts mehr   :Twisted Evil: 

----------

## Martux

 *Evildad wrote:*   

> Wäre es nicht sinnvoller ne RAMdisk zu verwenden. Speicher kostet ja auch fast nichts mehr  

 

Das geht mit einem fstab Eintrag ala

```

tmpfs                   /var/tmp/portage tmpfs nr_inodes=1M,size=3500M                          0 0

```

Das ist mein Eintrag mit 4G RAM. Damit kompiliert mein komplettes System fehlerfrei durch. Das hat auch gut funktioniert als ich nur 2 G RAM eingebaut hatte, allerdings kann es dann sein daß extrem große Pakete wie wxGTK, glibc oder openoffice nicht durchkompilieren. Man sollte auf jeden Fall noch eine swap Partition/Datei für den Notfall haben. Bei mir wird auch mit 4G RAM in seltenen Fällen noch swap benutzt.

Der Geschwindigkeitsvorteil ist wirklich beachtlich und das Argument daß die Festplatte weniger belastet wird leuchtet auch ein.

Es gibt einen Artikel dazu im Gentoo-Wiki:

http://gentoo-wiki.com/TIP_Speeding_up_portage_with_tmpfs

Außerdem gibt es eine ganze Reihe von Posts dazu hier im Forum, einfach mal nach portage & tmpfs suchen.

Wenn ihr öfter mal Pakete remerged, bringt auch ccache beachtlichen Geschwindigkeitszuwachs. Siehe auch:

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=3#doc_chap3

(Ccache sollte allerdings wirklich eine eigen Partition haben, da das viele, viele kleinste Fitzeldateien sind)

Viel Spaß beim rumprobieren und einen schönen Tag,

Marcus

----------

## zworK

Ich nutze tmpfs für /var/tmp/portage seit ca. einem Jahr ausschließich. Erst mit 1GB, später mit 2GB RAM.

Bisher einziges Problem:

 Java (sun-jdk) ist das einzige Paket, welches bei mir immer mit einer Fehlermeldung abbricht.

Von Openoffice nutze ich das Binärpaket, von daher kann ich nicht sagen, wie es beim Kompilieren aussieht.

----------

## jkoerner

USB-Sticks sind Flash-Speichermedien. Diese für wiederholtes neu Beschreiben zu verwenden um die Festplatte zu schonen heißt die Tatsachen auf den Kopf stellen.

Eine herkömmliche Festplatte ist für eine recht große Anzahl von Schreibzyklen(auch überschreiben) ausgelegt, während hingegen der Flash-Speicher nur eine begrenzte Anzahl möglicher Vorgänge dieser Art hat. Das ist eine physikalischisch bedingte Tatsache und anders als beim RAM.

Egal wie preisgünstig auch die Sticks sein mögen, theoretisch ist das aber für den angegebenen Verwendungszweck nicht empfehlenswert. Für Backups, wo die Daten dauerhaft gespeichert werden müssen, ist das aber die richtige Wahl. Flash hat hier seine Vorteile, da die Lesezyklen, im Gegensatz zur herkömmlichen Festplatte, unbegrenzt sind.

Ist aber alles graue Theorie und bei genügend großem Flash-Volumen wird man sich wohl, bevor der abraucht, schon wieder einen größeren zugelegt haben, weil die ja sooo günstig sind   :Wink: 

----------

## artbody

 *jkoerner wrote:*   

> USB-Sticks sind Flash-Speichermedien. ....
> 
> Eine herkömmliche Festplatte ist für eine recht große Anzahl von Schreibzyklen(auch überschreiben) ausgelegt, während hingegen der Flash-Speicher nur eine begrenzte Anzahl möglicher Vorgänge dieser Art hat. ... 

 

Bei Flashspeichern sind es so wie mir bekannt ist je nach Hersteller und Flashtyp (Nand Nor ...) zwischen ein paar 100 bis 100 000 Schreibzyklen möglich, wobei immer ein ganzer Block neu geschrieben wird.

um die 100 000 mal mit einem Foto.... hinzubekommen, da musst du echt hart arbeiten  :Laughing: 

aber wenn dein Rechner darauf kompilieren tut sind die 100 000 sicher schnell erreicht.

also ab ins RAM oder einfach ne alte Festplatte nehmen

----------

## manuels

 *jkoerner wrote:*   

> USB-Sticks sind Flash-Speichermedien. Diese für wiederholtes neu Beschreiben zu verwenden um die Festplatte zu schonen heißt die Tatsachen auf den Kopf stellen.
> 
> Eine herkömmliche Festplatte ist für eine recht große Anzahl von Schreibzyklen(auch überschreiben) ausgelegt, während hingegen der Flash-Speicher nur eine begrenzte Anzahl möglicher Vorgänge dieser Art hat. Das ist eine physikalischisch bedingte Tatsache und anders als beim RAM.

 

Dieses Argument hoer ich dauernd. Dabei ab ich letztens noch in einer ct/xi gelesen, dass dies auf die heutigen USB-Sticks gar nicht mehr zutrifft. Werd den Artikel mal raussuchen und zitieren.

----------

## think4urs11

Mal abgesehen davon das ein USB-Stick sehr wahrscheinlich bei so einer Verwendung früher den Geist aufgibt als eine Festplatte gibt es noch ein anderes Argument das dagegen spricht und zwar vor allem die Schreibgeschwindigkeit.

Es gibt nur sehr wenige Sticks die Schreibraten oberhalb von 15MB/s haben und das schaffen selbst ältere Platten recht schmerzfrei - da reden wir inzwischen von ~100MB/s bei 2.5 bzw. noch einiges mehr bei 3.5 Zoll. Lesegeschwindigkeit geht halbwegs mit >=25-30MB/s bei schnellen Sticks.

Selbst wenn der Stick diese Behandlung also längerfristig durchsteht (außer wir reden hier von einem build-host der nichts anderes tut als 24/7 Pakete zu bauen) dürfte es der Geschwindigkeit des ganzen eher abträglich sein.

Die Zugriffszeiten hingegen sind natürlich bei Flashmedien schneller als bei Platten aber wenn man sich die diversen SSD-Tests so ansieht ist die Geschwindigkeit trotzdem nicht so der Hit; jedenfalls nicht im unteren Preissegment.

----------

## Erdie

Nur mal so für mein Verständnis: 

Wenn ich 3.5gig tmpfs auf einer 4Gig Maschine konfiguriert habe, hat die Maschine dann permanent nur noch 512Mb für alles andere frei? Ist das nicht Ressourcenverschwendung 3.5gig zu verschenken nur damit das emergen ab und zu schneller geht?

Da ich mir das nicht vorstellen kann, vermute ich, dass der Speicher nur on demand belegt wird. Kann das jemand bestätigen?   :Rolling Eyes: 

----------

## Martux

 *Erdie wrote:*   

> 
> 
> Da ich mir das nicht vorstellen kann, vermute ich, dass der Speicher nur on demand belegt wird. Kann das jemand bestätigen?  

 

Wird definitiv nur "on demand" belegt. Ich habe auch noch bei keinem Programm erlebt, daß so viel benutzt wird, da wird dann eher der swap Speicher benutzt.

----------

## c_m

kritisch wird es erst, wenn der tempfs mount wirklich permanent belegt ist. Dann hat das OS wirklich nur noch 512MB und fängt an zu swapen... Und das ist der erfahrung nach sehr unschön  :Wink: 

----------

## hitachi

Das swapen wird ja dann auch wieder auf die Festplatte gehen und den ursprünglichen Gedankengang die Festplatte zu schonen ad absurdum führen.

Hier kurz zur Information. Ist allerdings auf Beobachtung basierend:

```
free -m
```

 *Quote:*   

> total       used       free     shared    buffers     cached
> 
> Mem:          3021        670       2350          0         50        212
> 
> -/+ buffers/cache:        407       2613
> ...

 

```
mount -t tmpfs tmpfs -o size=3500M,nr_inodes=1M /var/tmp/portage

df -h
```

 *Quote:*   

> [...]tmpfs                 3.5G     0  3.5G   0% /var/tmp/portage
> 
> 

 

```
free -m
```

 *Quote:*   

> total       used       free     shared    buffers     cached
> 
> Mem:          3021        677       2343          0         51        213
> 
> -/+ buffers/cache:        412       2608
> ...

 

Ist leider ertwas schwer zu lesen mit der Tabelle. Der RAM-verbrauch hat aber nur um 7 MB zugenommen - und das kann alle möglichen Gründe haben.

----------

## frostschutz

 *hitachi wrote:*   

> ist es sinnvoll, zb. einen USB-Speicher-Stick auf /var/tmp/portage zu mounten?

 

Nein, es ist extrem lahm.

Festplatten musst du nicht schonen, die kannst du so oft wieder neu beschreiben wie du willst.

Wenn du dir Sorgen um Fragmentierung machst, kannst du eine eigene Partition auf der Festplatte anlegen.

----------

## hitachi

 *frostschutz wrote:*   

> Festplatten musst du nicht schonen, die kannst du so oft wieder neu beschreiben wie du willst.

 Leider scheine ich mit meinen Festplatten mehr Pech zu haben. Von 4 die ich für mein RAID nutze sind bereits 2 verstorben und eine dritte sieht auch nicht gut aus. Ich bekomme die zwar immer wieder ausgetauscht, nur das kann ja nicht der Sinn der Sache sein. Die Temp der Platten liegt nach hddtemp immer so unter 40C.

Die Sache mit dem tempfs ist aber schön, weil es mir sehr viel schneller vor kommt als die normale Festplatte.

----------

## artbody

habe zwar ne extra Platte (alte 120GB) für /boot swap /tmp /var/tmp

was ja auch schon ein bisschen was bringt 

aber tempfs

```
mount -t tmpfs tmpfs -o size=3500M,nr_inodes=1M /var/tmp/portage
```

bringt ordentlich Geschwindigkeit beim compilieren

und ist ondemand so wie ich das sehe.

----------

## frostschutz

 *hitachi wrote:*   

> Leider scheine ich mit meinen Festplatten mehr Pech zu haben. Von 4 die ich für mein RAID nutze sind bereits 2 verstorben und eine dritte sieht auch nicht gut aus.

 

Jede Festplatte stirbt früher oder später, wie jedes andere mechanische Gerät auch. Man kann den Verschleiss gering halten aber halt nie ganz auf 0 drücken, irgendwo reibt immer irgendwas und die Hitze und so weiter. Du kannst mit Festplatten sehr viel Glück haben - ich habe noch eine uralte, beim Einbau in ein scharfkantiges Gehäuse seitlich aufgeschlitzte Festplatte, die auch heute noch funktioniert. Weiss der Geier wieso. Aber genauso gibts auch viele alte Platten die schon vor Ewigkeiten kaputtgegangen sind und an die sich heute bloss keiner mehr erinnert.  :Wink:  Wenn du unnormal viele Ausfälle hast, kann man nach externen Ursachen schauen, z.B. starke Erschütterungen über größeren Zeitraum hinweg (immer nett wenn nebenan eine Grossbaustelle ist), oder auch banale Sachen wie ein kaputtes Netzteil mit komischen Spannungsschwankungen, kann den Festplatten zusetzen. Ich hatte auch mal drei 80GB-Festplatten von Seagate zusammen gekauft, die nach recht kurzer Zeit gestorben sind, obwohl andere mit der Serie gar keine Probleme hatten... da hab ich den Händler / die Lieferung in Verdacht daß die eben mit dem Paket nicht gerade zimperlich umgegangen sind.

----------

