Aus Versehen ist mir aufgefallen, dass im Verzeichnis / tmp ständig einige Dateien angelegt und dann sofort gelöscht werden. Mit einer Abfolge von ls -l /tmp
gelang es mir, die erstellten Dateien zu fangen:
-rw------- 1 root root 0 Apr 2 19:37 YlOmPA069G
-rw------- 1 root root 0 Apr 2 19:37 l74jZzbcs6
oder ein anderes Beispiel:
-rw------- 1 root root 0 Apr 2 19:44 AwVhWakvQ_
-rw------- 1 root root 0 Apr 2 19:44 RpRGl__cIM
-rw------- 1 root root 0 Apr 2 19:44 S0e72nkpBl
-rw------- 1 root root 0 Apr 2 19:44 emxIQQMSy2
Es geht um Ubuntu 18.10 mit 4.18.0-16-Generic. Dies ist eine fast neue Installation: Ich habe einige Server-Software (nginx, mysql, php7.2-fpm) hinzugefügt, aber auch bei diesen ist das Problem weiterhin vorhanden.
Welche Dateien werden erstellt und warum? Wie würde ich dieses Verhalten beenden? eine sehr unerwünschte auf einer SSD
Vielen Dank!
AKTUALISIEREN
Die Frage ist, wann / tmp nicht im RAM ist (keine tmpfs ).
Die schuldige Software ist x2goserver.service, sonst muss man sie haben .
/tmp
normalerweise tmpfs verwendet wird (ein Ramdisk-Dateisystem, das den Pagecache als Hintergrundspeicher verwendet). Sie haben Ihre Frage mit tmpfs markiert , sodass Ihre Kommentare zu SSDs unangebracht zu sein scheinen./tmp
ist normalerweise auf tmpfs" für einen normalen Ubuntu-Benutzer gültig ist - Wenn Sie nur die Standard-Ubuntu-Installation verwenden,/tmp
befindet sie sich auf der Festplatte und das OP müsste die entsprechenden fstab-Einträge erstellen, um sie in ein zu setzen tmpfsAntworten:
Ich schlage vor, fnotifystat zu installieren und auszuführen, um den Prozess zu erkennen, der diese Dateien erstellt:
Sie werden einen Prozess sehen, der die folgende Aktivität zum Öffnen / Schließen / Lesen / Schreiben ausführt:
quelle
/tmp/...
Zum richtigen Zeitpunkt, da ich damit mein nächstes Projekt überwachen kann, bei dem ich Dateien für IPC zwischen Dämon und Benutzerbereich anstelle von komplizierteren DBUS erstellen soll.Bestimmen Sie, welches Programm / welcher Prozess Dateien berührt
Sie können Tools verwenden, um
lsof
zu bestimmen, welche Prozesse und Binärdateien welche Dateien berühren / öffnen. Dies kann problematisch werden, wenn sich die Dateien häufig ändern. Sie können stattdessen eine Überwachung einrichten, um Sie zu benachrichtigen:Manchmal gibt ein einfacher Blick auf den Benutzer oder den Gruppenbesitzer einen guten Hinweis (zB:)
ls -lsha
.Setzen Sie
/tmp
in den RAM statt PlatteWenn Sie möchten, können Sie Ihr
/tmp
Verzeichnis in den Arbeitsspeicher stellen. Sie müssen anhand des verfügbaren Arbeitsspeichers sowie der Größe und Häufigkeit der Lese- / Schreibvorgänge feststellen, ob dies ein intelligenter Vorgang ist.Wenn Sie über genügend RAM verfügen, kann dies sowohl für die Langlebigkeit Ihrer SSD als auch für die Geschwindigkeit Ihres Systems als eine sehr gute Maßnahme angesehen werden. Sie können dies sogar mit weniger RAM erreichen, wenn Sie
tmpreaper
(manchmaltmpwatch
) aggressiver vorgehen .quelle
Sie haben Ihre Frage mit tmpfs markiert , daher ist mir nicht ganz klar, wie dies mit SSD zusammenhängt. Tmpfs ist ein In-Memory-Dateisystem (oder genauer gesagt ein In-Block-Cache-Dateisystem), sodass es niemals auf eine physische Festplatte stößt.
Selbst wenn Sie über einen physischen Sicherungsspeicher für Ihr
/tmp
Dateisystem verfügten, werden diese kurzlebigen Dateien niemals die Festplatte beschädigen, alle Vorgänge werden im Cache ausgeführt, es sei denn, Sie verfügen über ein System mit nur wenigen Kilobyte RAM.Mit anderen Worten, es gibt nichts, worüber Sie sich Sorgen machen müssten, da Sie tmpfs verwenden. Andernfalls gibt es immer noch nichts, worüber Sie sich Sorgen machen müssten.
quelle
/tmp
sich im RAM befinden, hat dies überhaupt nichts mit Ihrer SSD zu tun, daher ist dies weder wünschenswert noch unerwünscht, sondern steht tatsächlich in keinerlei Zusammenhang.Die Leute machen sich zu viele Sorgen um die Schreibfestigkeit von SSDs. Angenommen, das Erstellen und Löschen einer leeren Datei schreibt 24 KB pro Sekunde und die Verwendung der 150-TBW-Spezifikation für das beliebte Samsung 860 EVO 250 GB beansprucht 193 Jahre!
(150 * 10 ^ 12) / ((2 * 3 * 4 * 1024) * 60 * 60 * 24 * 365,25) = 193
Verwenden Sie für ext4-Dateisysteme "tune2fs -l", um Lifetime-Schreibvorgänge zu finden. Oder verwenden Sie "smartctl -a" und suchen Sie nach Total_LBAs_Written. Ich finde immer, dass die SSD noch viel Leben hat.
quelle
tune2fs: Bad magic number in super-block while trying to open /dev/nvme0n1 Found a gpt partition table in /dev/nvme0n1
.Sie haben den falschen
/dev/nvme0...
Namen verwendet:Das richtige Format ist:
So weit die Lebensdauer der NVMe-SSD reicht:
Die Schlüsselzeile hier ist:
Nach 18 Monaten Gebrauch beträgt der SSD-Prozentsatz 0%. Wenn es nach 3 Jahren 1% erreicht, weiß ich, dass die SSD 300 Jahre hält.
Offensichtlich würde diese Antwort nicht in den Kommentarbereich passen, um auf andere Kommentare zu antworten.
quelle
tune2fs
als Antwort auf Ihren Kommentar zu Fraser Gunns Antwort mit einer Fehlermeldung.