it-swarm-eu.dev

Gutes Dateisystem für / tmp?

Ich denke an/tmp auf einer eigenen Partition ... was wäre ein gutes Dateisystem, um es zu formatieren?

Der Grund, den ich frage, ist, dass die Daten, die in/tmp gespeichert werden, nicht permanent sind, sodass ich kein Journaling, keinen ausgefallenen Index oder etwas anderes benötige.

31
Nathan Osman

Manchmal finde ich, dass es die beste Lösung ist, /tmp nach RAM (tmpfs) zu verschieben (insbesondere bei meinen Setups, die viel festplattenintensives IO Zeug verwenden - MySQL usw.), wenn Sie dies haben genug RAM, um es zu füttern.

27
Marco Ceppi

Hier gibt es mehrere gute Möglichkeiten:

  1. tmpfs: ist ein Dateisystem, das seine Dateien im RAM speichert. Dies bedeutet nicht, dass das Dateisystem den gesamten Arbeitsspeicher beansprucht. Stattdessen wird nur der Betrag benötigt, den es wirklich benötigt. Normalerweise werden nur einige MB benötigt. Wenn Sie es verwenden, fügen Sie Ihrem none /tmp tmpfs size=64M,mode=1777 0 0 eine Zeile wie die folgende hinzu: /etc/fstab. Sie können size in einen von Ihnen gewünschten Wert ändern. Wenn Sie irgendwann denken, dass es zu wenig ist, können Sie mount verwenden, um die Größe zu erhöhen: mount -t tmpfs tmpfs /tmp -o size=128M,mode=1777,remount. Die Größe wird an Ort und Stelle erhöht, ohne dass vorhandene Dateien gelöscht werden.
  2. ext2/: Sie haben in Ihrer Frage gesagt, dass Sie keine ausgefallenen Funktionen benötigen. Ich würde jedoch raten, ein Tagebuch zu verwenden. Denn wenn Sie ext2 verwenden und einen ziemlich großen /tmp haben, würde es einige Zeit dauern, ihn zu überprüfen. ext3 bootet in vielen Fällen schneller. Daher würde ich die Verwendung von Journalling vorschlagen.
  3. ext4, reiserfs etc .: Manche Software verwendet /tmp zum Speichern großer Mengen kleiner Dateien. In einigen Fällen gibt es also keine freien Blöcke mehr und das Dateisystem ist voll. ext4 und auch reiserfs speichern Dateien auf andere Weise. Es könnte also eine gute Wahl sein, diese für Ihren /tmp zu verwenden.

Wenn Ihr Computer längere Zeit ausgeführt wird, sollten Sie nicht verwendete Dateien in /tmp löschen. tmpreaper ist eine Lösung, die das für Sie erledigt.

Meine erste Wahl wäre jedoch die Verwendung von tmpfs.

25
qbi

Wenn Sie nicht wollen, dass es möglicherweise RAM isst, Ich würde es einfach als ext2 ausführen. Kein Grund, den kleinen Performance-Hit des Journalings für ein Dateisystem zu essen, dessen Daten Sie über Neustarts hinweg nicht interessieren (sollten).

Eigentlich sollten Sie ext4 verwenden und das Journal deaktivieren, es sollte schneller sein als ext2. Formatieren Sie ext4 und speichern Sie es in fstab mit der Mount-Option data=writeback.

7
Nicholas Knight

Die Verwendung von tmpfs sollte für Ihre Anforderungen in Ordnung sein , vorausgesetzt, Sie haben ausreichend RAM installiert .

Davon abgesehen ... etwas, das im Hinblick auf die Verwendung einer Ramdisk für /tmp in Betracht gezogen werden sollte (dies stammt aus einem älteren Post an anderer Stelle ):

  • Sollte sich/tmp auf einem realen Festplattenbereich befinden oder darf es grundsätzlich im SWAP-Bereich (oder tmpfs) implementiert werden?

Wenn es stark genutzt wird, ist dies eine Versuchung: "Wir werden/tmp auf eine RAM -Disk legen, es wird den Zugriff beschleunigen, und wenn das System neu gestartet/heruntergefahren wird, gibt es nichts zu bereinigen." . Wenn Sie jedoch darüber nachdenken, temporären Speicherplatz als RAM -Datenträger zu implementieren, der ausgetauscht wird, würde ich die Auswirkungen der Auslagerungsspeicherbelegung Ihres Systems durch andere Programme berücksichtigen. Wenn Swap als eine Form von "Notüberlauf" auftritt, wenn sich das System in einer schwierigen Situation befindet und diese benötigt, ist das Letzte, was Sie benötigen, Swap - Speicherplatz zu belegen, der von einem außer Kontrolle geratenen Prozess gefüllt wird/tmp, Speicherplatz verbraucht und Druck auf das System ausübt VM Subsystem zum Auslagern auf die Festplatte. Zwischen der Auslagerungsaktivität und dem zusätzlichen E/A-Streaming auf die RAM -Disk (was wiederum dazu führen kann, dass zusätzliche Page-Ins eine seek() erfüllen) wird Ihr System schnell E/A-gebunden.

6
Avery Payne

Die Verwendung von ext4 mit bestimmten Mount-Optionen sollte in Ordnung sein. Verwenden Sie die folgenden Mount-Optionen:

barrier=0 : Significantly improves file write operations in some scenarios
noatime : Don't update file last access time, you don't need this on /tmp files and it should help with write operations performance.
5
João Pinto

Ich bin zufrieden mit ext4. Sie können mit einigen Einhängeoptionen spielen, wenn Sie es optimieren möchten, oder tmpfs verwenden, wenn Sie viel RAM haben.

3
Michał Šrajer

Als Antwort auf die Frage, warum Sie eine separate/tmp-Partition möchten, gibt es sicher viele Gründe, wie einige bereits ausgeführt haben, aber einer, den ich heute als besonders relevant empfinde, ist, dass Sie/auf einer SSD ausführen, Sie möchten die Schreibvorgänge auf dieses Laufwerk minimieren. Daher ist das Verschieben von/tmp eine gute Idee, da sich in diesem Bereich des Dateisystems häufig viele Änderungen ergeben.

2
Matt Smith

Ich denke, tmpfs könnte eine schlechte Option sein, da/tmp normalerweise von der Welt beschreibbar ist, sodass jeder es füllen kann. Wenn es voll ist, wird alles an Speicherplatz verbraucht und der Server wird langsam kriechen

0