RAM-Disk für Logfiles auf dem Raspberry

  • ( DIYLAB ) Ich habe die Postings zur RAM-Disk aus dem OT-Bereich hierher verschoben.


    Fast alles, worauf Linux läuft, kann auch für Klipper benutzt werden.


    Zum Thema SD-Card, wenn man die Logs in eine RAMdisk auslagert, reduziert das die Schreibzugriffe ganz gewaltig.

  • Logdateien würde ich nicht in eine Ramdisk packen, nach einem Neustart sind die weg und helfen nicht bei Fehlern die zum Systemabsturtz führen.


    Effektiver ist die Temporären (/tmp) Dateien in eine Ramdisk zu schieben, die haben idr. sehr viele Zugriffe und werden beim Systemstart sowieso gelöscht. Das macht aber nur ab min 2 GB oder besser 4 GB Ram sinn.


    Auch das abschalten der Zugriffszeitstempel bringt einiges. So wird beim lesen einer Datei nicht die Zeit des letzten zugriffs gespeichert, also nicht schreibend auf die SSD/SD Karte zugegriffen.

  • In meinem Haushalt laufen verschiedene Raspberries, u.a auch mit Octoprint, aber bezüglich der endlichen Beschreibbarkeit von SD-Cards mache ich mir keinen Kopf. Warum?


    Zunächst kann die Speicherkarte urplötzlich von einer Sekunde auf die andere ausfallen. Ein Backup der gesamten Karte oder wenigstens die Speicherung der Printer.cfg Datei bei Klipper ist daher anzuraten.


    Wie schnell geht eine SD-Card in einem Raspberry oder eine SSD in einem PC durch das ständige Beschreiben kaputt? Keiner weiß es genau. Die Computer und Anwendungsfälle sind zu unterschiedlich. Da gibt es den Heimcomputer der gelegentlich mal eingeschaltet wird und den Server, der mit nahezu immer 100% Auslastung 24/7 rennt. Eine gewisse Orientierung bieten die Workload-Limit Angaben, die Festplattenhersteller für ihre konventionellen Festplatten angeben. Das ist die Datenmenge/Jahr, die die Festplatte maximal transferieren kann (Schreiben und Lesen), ohne dass die Zuverlässigkeit der Platte zu sehr in den Keller geht. Der begrenzende Faktor ist hier nicht das Speichermedium, sondern die Laufwerksmechanik. Die Angaben für verschiedene Festplatten reichen von 180TB/Jahr bis 550TB/Jahr. Gehen wir mal vom ungünstigsten Fall aus: 550TB/Jahr und übertragen wir die Übertragungsleistung auf eine 64GB SD-Card, die sich 10000 mal beschreiben lässt (üblicher unterer Grenzwert für Flashspeicher). Die gesamte Übertragungskapazität der SD-Card wäre demnach 10000 x 64GB = 640TB. Die SD-Card würde also, eingesetzt z.B. als Systemplatte in einem Computer immerhin 1,16 Jahre durchhalten. Das ist aber ein ungünstiger Extremfall. Tatsächlich sind die Verhältnisse wesentlich günstiger. Im wirklichen Leben überwiegen die Lesevorgänge die Schreibvorgänge bei weitem und im Unterschied zur Harddisk erleidet die SD-Card beim Lesen keine Abnutzung. Die SD-Card hält nicht 10000 Schreibvorgänge aus, sondern wahrscheinlich wesentlich mehr; es werden auch 100000 Schreibvorgänge als untere Grenze genannt. Und der 3D-Drucker wird bei den meisten auch nicht rund um die Uhr laufen. D.h. im wirklichen Leben sollte die Lebensdauer der SD-Card zig-fach höher sein als die 1,16 Jahre von oben.


    Daher ist für mich die begrenzte Lebensdauer von SD-Cards aufgrund der endlichen Zahl von Schreibvorgängen kein Thema und ich habe auch keine Maßnahmen getroffen, um die Logdateien in das RAM oder anderswohin zu verlagern.

    XTLW Climber 7, Tronxy X5SA-500 PRO (im Umbau auf Klipper), Tronxy X5SA PRO/Klipper, Halot One

    Edited once, last by DIY_Fan ().


  • Ich würde das gern umsetzen, jedoch scheitere ich an:


    Code
    Edit klipper to write logs to new path: edit /etc/default/klipper and change the -l parameter in the KLIPPY_ARGS
    
    KLIPPY_ARGS="/opt/klipper/klippy/klippy.py /opt/klipper.hill/printer.cfg -l /opt/klipper.log/klippy.log"


    Wo schreibe ich das rein?

    Code
    /etc/default/klipper


    Finde ich nicht :/ .


    Da gibts nur:


    Bambu Lab X1-Carbon // AtomStack Cambrian Pro // Sovol SV06 // Ender-2 Pro

  • Grundsätzlich stimme ich Dir zu, allerdings ist der Flash-Speichermarkt einer der Märkte mit dem größten Preisdruck, daher bekommt man hier tatsächlich extrem viel Schrott verkauft. Wenn man eine ordentliche Karte hat (ne gute SanDisk z.B.), mag das auch stimmen. Aber viele billige Karten (mit oder Namen) kacken tatsächlich recht früh ab.


    Aus dem Grund ist mir ne SSD doch lieber, wenn es der Platz erlaubt, die ist auch viel schneller.


    Wer mal hören will, welche Blüten der Preisdruck der Flash-Speicher treibt, kann ja diesen Vortrag anhören:


    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    genutzte Drucker (alle Klipper): Voron 2.4, Voron 0.2, Sovol SV01, Sovol SV06, Anycubic Mega S, KP3S

  • Richtig, je nach Installationsmethode läuft Klipper als service.. also:


    Code
    sudo nano /etc/systemd/system/klipper.service


    Und dann die Zeile mit dem Klipper Log Eintrag anpassen auf:

    Code
    Environment=KLIPPER_LOG=/opt/klipper.log/klippy.log
  • Danke für deine Hilfe!

    In der klipper.service steht:



    Also habe ich mir mal die Datei klipper.env in /home/pi/printer_data/systemd/ angeschaut:

    Code: klipper.env
    KLIPPER_ARGS="/home/pi/klipper/klippy/klippy.py /home/pi/printer_data/config/printer.cfg -l /home/pi/printer_data/logs/klippy.log -I /home/pi/printer_data/comms/klippy.serial -a /home/pi/printer_data/comms/klippy.sock"


    ... und den Pfad angepasst:


    Code
    KLIPPER_ARGS="/home/pi/klipper/klippy/klippy.py /home/pi/printer_data/config/printer.cfg -l /opt/klipper.log/klippy.log -I /home/pi/printer_data/comms/klippy.serial -a /home/pi/printer_data/comms/klippy.sock"


    Scheint zu funktionieren, das Log wird nun angelegt.


    Noch eine Frage:

    Ich möchte die RAM-Disk ein bisschen größer machen, da hab ich am Anfang gepennt.

    Sagen wir mal 512Kb oder 1GB (mein Pi hat 4GB).


    Wie mache ich das jetzt "hinterher" am besten?

    Bambu Lab X1-Carbon // AtomStack Cambrian Pro // Sovol SV06 // Ender-2 Pro

  • Aus dem Grund ist mir ne SSD doch lieber, wenn es der Platz erlaubt, die ist auch viel schneller.

    Wäre mir auch sehr viel lieber, allerdings hab ich die SSD am Raspi4 bisher einfach nicht sauber zum laufen gebracht. Der startet damit einfach nicht sauber durch, sondern bleibt ständig an anderen Stellen des Startvorganges hängen. Deshalb hab ich das irgendwann auch aufgegeben und es bei der SD Karte belassen. Hier setze ich allerdings immer auf Sandisk, ich kauf auch gar nichts anderes mehr. Eine sauber funktionierende SSD wäre halt mein Wunsch gewesen.

    Gruss Alex


    Mein Drucker ist ein Anycubic Mega X, mein Slicer ist Ultimaker Cura und mit Tinkercad erstelle ich meine Konstruktionen. Gedruckt wird inzwischen über einen Raspi 4, auf dem Octoprint läuft.

  • Wäre mir auch sehr viel lieber, allerdings hab ich die SSD am Raspi4 bisher einfach nicht sauber zum laufen gebracht. Der startet damit einfach nicht sauber durch, sondern bleibt ständig an anderen Stellen des Startvorganges hängen. Deshalb hab ich das irgendwann auch aufgegeben und es bei der SD Karte belassen. Hier setze ich allerdings immer auf Sandisk, ich kauf auch gar nichts anderes mehr. Eine sauber funktionierende SSD wäre halt mein Wunsch gewesen.

    Ich habe festgestellt, dass es an den USB<->Sata Adaptern liegt, da ist der RasPi etwas zickig und unterstützt nicht alle Chipsätze. Manchmal funktioniert auch einfach nur das Booten nicht, dann kann man von SD-Karte booten aber das Filesystem liegt nach dem Start auf der SSD.


    U.a. funktioniert dieser hier bei mir sehr gut: https://amzn.to/3JGf8Qx [Werbung] (steht auch in einer der Fragen auf der Amazon Seite)

    genutzte Drucker (alle Klipper): Voron 2.4, Voron 0.2, Sovol SV01, Sovol SV06, Anycubic Mega S, KP3S

  • Hab ich mir mal bestellt, vielleicht geht's ja damit endlich sauber. Denn ein paar Gehäuse mit angeblich passenden Chipsätzen hab ich schon durch. Am 3B+ hats immer sauber funktioniert, bloss am 4 gings einfach nicht ohne Hänger.


    Mach ich mir dann halt selbst ein passendes Gehäuse und integriere eine Halterung für den Adapter.

    Gruss Alex


    Mein Drucker ist ein Anycubic Mega X, mein Slicer ist Ultimaker Cura und mit Tinkercad erstelle ich meine Konstruktionen. Gedruckt wird inzwischen über einen Raspi 4, auf dem Octoprint läuft.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Unread Threads

    1. Title
    2. Replies
    3. Last Reply
    1. Neue Angebote (06.06.) 363

      • FeedBot
    2. Replies
      363
      Views
      39k
      363
    3. boomer

    1. Ender3 pro Upgrades 34

      • Druckschlumpf
    2. Replies
      34
      Views
      525
      34
    3. Uwe

    1. Signifikante Geschwindigkeitsunterschiede SelfCAD vs. Cura Slicer 4

      • boomer
    2. Replies
      4
      Views
      95
      4
    3. boomer

    1. Was druckt ihr gerade? Zeigt Mal her! 6.9k

      • Relaxo
    2. Replies
      6.9k
      Views
      718k
      6.9k
    3. boomer

    1. 3D Drucker für Büro 9

      • Tim_
    2. Replies
      9
      Views
      222
      9
    3. Frank501