/ var / cache im temporären Dateisystem

Aug 25 2020

Aufgrund von Bedenken hinsichtlich der Flash-Verschlechterung möchte ich die Anzahl unnötiger Festplattenschreibvorgänge auf einem kopflosen, leichten 24/7-System so gering wie möglich halten. Für den Fall, dass es darauf ankommt, handelt es sich um ein System mit Debian-Geschmack, aber ich denke, das Problem könnte für ein breiteres Publikum von Bedeutung sein.

Um dies zu erreichen, verwende ich bereits tmpfs für /tmpund /var/logzusätzlich zu den Standardeinstellungen. An diesem Punkt, wenn ich die inaktive E / A- Aktivität mit verschiedenen Tools wie Fatrace überwache , stelle ich fest, dass nach langen Zeiträumen eines der bekanntesten Verzeichnisse in Bezug auf die Anzahl der Schreibzugriffe ist /var/cache, insbesondere in /var/cache/manBezug auf man-db . Beachten Sie, dass ich in diesem System keine automatischen Paketaktualisierungen habe, daher bekomme ich keine Schreibvorgänge für /var/cache/apt, aber für andere, die möglicherweise auch relevant sind.

Die Frage ist, könnte es Probleme verursachen, wenn tmpfs für verwendet würde /var/cache? Beim Start füllte ich es mit Daten von der Festplatte und synchronisierte es möglicherweise von Zeit zu Zeit zurück.

Natürlich kann die erhöhte RAM-Auslastung auf einigen Systemen ein Problem sein, aber es wäre interessant, Ihre Meinung zu hören, ob es für einige der gängigen Systeme, die den Cache verwenden, problematisch wäre, wenn Daten im frühen Startvorgang fehlen oder allgemein in einem leicht veralteten Zustand sein (zum Beispiel nach einem Absturz)?

Antworten

1 Stewart Aug 25 2020 at 15:35

Ziemlich coole Idee. Ich montiere /varaus diesem Grund auf einem Magnetantrieb, aber das gefällt mir. Ob dies funktionieren würde, ist anwendungsspezifisch.

Does apterfordern /var/cache/apt/bestehen oder wird es das Verzeichnis erstellen , wenn nötig? dpkg -S /var/cache/apt/sagt mir, dass dieses Verzeichnis während der Paketinstallation erstellt wird. Wenn dieses Verzeichnis nicht existiert, wird aptes dann erstellt? Wird aptanfangen zu scheitern? Die Antwort auf diese Fragen liegt in apt. Sie können diesen Punkt ungültig machen, indem Sie ein tmpfsfor erstellen /var/cache/apt.

Während ein tmpfsfor /var/cache/aptmöglicherweise funktioniert apt, müssen Sie den Vorgang für alle anderen verwendeten Pakete wiederholen /var/cache/*. Einige Verzeichnisse auf meiner Maschine sind: apache2, fonts, gdm, cups, man, dictionaries-common app-info. Wenn Sie ein neues Paket installieren, müssen Sie außerdem daran denken, alle tmpfsfür dieses Paket zutreffenden Einstellungen vorzunehmen. Dies könnte schwierig zu handhaben sein.

Glücklicherweise beschreibt der Standard der Dateisystem-Hierarchie Folgendes /var/cache:

Anwendungs-Cache-Daten. Solche Daten werden aufgrund zeitaufwändiger E / A oder Berechnungen lokal generiert. Die Anwendung muss in der Lage sein, die Daten neu zu generieren oder wiederherzustellen. Die zwischengespeicherten Dateien können ohne Datenverlust gelöscht werden.

Ich könnte mich also irren. Anwendungen können so implementiert werden, dass /var/cachebei Bedarf Unterverzeichnisse erstellt werden, da dies nach dem Standard erforderlich ist. Aber es ist immer noch ein Risiko, falls jemand dies nicht einhält.