freetz-devel 4046M: USB-Stick Last - Welche Dateien werden ständig geschrieben?

ao

Aktives Mitglied
Mitglied seit
15 Aug 2005
Beiträge
2,158
Punkte für Reaktionen
2
Punkte
38
Hallo,

bei einem Blick in den rrdstats-Graphen meines an der 7170 angestöpselten 2 GB USB-Sticks (kein swap, aber ein paar externalisierte Pakete) sehe ich mit Erstaunen folgendes:
Code:
read    (avg/max/cur)[bytes/s]: 203  / 3k / 228
write   (avg/max/cur)[bytes/s]:   3k / 6k /   6k
Ich frage mich, weshalb deutlich mehr geschrieben als gelesen wird.
Mit welchen Linux-Mitteln kann ich denn am besten nachverfolgen, welche Dateien auf dem USB-Stick ständig geschrieben bzw. aktualisiert/ editiert werden?
Danke für Eure Tipps und sorry, falls es sich um Linux-Trivialitäten handelt.

Euch allen frohe Weihnachtsfeiertage! :p
 
Ganz so trivial ist das nicht.
Die offenen Dateien (auf dem Stick) bekommst Du mit lsof angezeigt. Das ist der einfachere Teil.
Mit strace kannst Du verfolgen, was diese Prozesse mit den Dateien tun.
Eine mögliche Erklärung für das Verhalten ist, daß einerseits rrdstats ja tatsächlich hauptsächlich Daten speichert. Und daß Schreibzugriffe tatsächlich durchgeführt werden müssen, während Lesezugriffe auch aus dem Cache erfolgen können, ohne den Datenträger anzusprechen.
Interessant könnten für Dich auch noch die Mount-Optionen noatime und ähnliche sein.
 
Hallo Ralf,

noatime nutze ich bereits von Anfang an:
Code:
root@fb1 /var/mod/root $ mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
dev on /dev type tmpfs (rw,nosuid)
proc on /proc type proc (rw,nodiratime,nosuid,nodev,noexec)
tmpfs on /var type tmpfs (rw)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
/dev/mtdblock6 on /data type jffs2 (rw,noatime)
usbfs on /proc/bus/usb type usbfs (rw)
[COLOR=Blue]/dev/sda1 on /var/media/ftp/uStor01 type ext2 (rw,noatime,nodiratime)[/COLOR]

rrdstats temp.: /var/tmp/rrdstats
rrdstats persistent: /var/tmp/persistent
Backup auf dem Stick: /var/media/ftp/uStor01/rrdstats/backup
Über rc.custom jeweils Restore der Backup-Daten beim Box-Neustart: /etc/init.d/rc.rrdstats restore

Aha, das ist wohl der Grund: 10-minütiges Backup der Daten auf dem Stick mittels cron. Die crontab sieht so aus:
Code:
00 * * * * /etc/init.d/rc.rrdstats backup
10 * * * * /etc/init.d/rc.rrdstats backup
20 * * * * /etc/init.d/rc.rrdstats backup
30 * * * * /etc/init.d/rc.rrdstats backup
40 * * * * /etc/init.d/rc.rrdstats backup
50 * * * * /etc/init.d/rc.rrdstats backup

Ich verringere das mal auf 1x/h und checke dann, wie viel geschrieben wird.
Danke auch für den Tipp bzgl. lsof und strace.
 
In dem Falle nichts, weil sie beide im RAM der Box liegen.
Persistent allerdings kann man besser auf dem Stick speichern, denn dann überleben sie auch nen Reboot.
 
@Silent-Tears:
ao lässt ja alle 10 Minuten ein Backup (via cron) ausführen, wodurch die Daten alle 10 Minuten gesichert werden. Dadurch wird die Schreib-Last durch RRD-Stats stark reduziert.

(Ich mache es genauso. Ich habe es hier im Forum mal so vorgeschlagen, um die Schreib-Last zu reduzieren. Der Grund war damals die ständig abgeworfenen (und bei mir auch ein defekter) USB-Sticks. Via rc.rrdstats restore aus rc.custom heraus lasse ich die Daten beim Starten der Box in den RAM zurückschreiben. Funktioniert 1A!)
 
Ja, die Schreiblast auf dem USB-Stick ist geringer, aber der Flash-Speicher der FB wird ja trotzdem regelmäßig beschrieben und "leidet" auch darunter.
Man sollte einfach bei allen Werten, wo es geht (z.B. Temperaturen), das Auslesen auf z.B. alle 5 Minuten begrenzen.
Ich denke, dass es sogar ausreicht, Raumtemp. nur alle 30 Minuten auszulesen (und dabei in den Flash-Speicher der FB) zu sichern. Wozu mehr?
Und dann könnte man auch die Backups (auf den USB-Stick) seltener durchführen.
Ich hatte diesen Thread gestartet, weil mir unklar war, dass meine 10-minütigen "Backups" auf den USB-Stick zu dem deutlich höheren Schreib-Anteil (im Vgl. zum Leseanteil) auf dem USB-Stick (via rrdstats angezeigt) führen.
Das ist mir inzwischen natürlich klar, und daher habe ich es oben ja auch so klargestellt. Also ist dieser Thread an und für sich nicht mehr so interessant. ;)
Aber es freut mich zu hören, dass andere Nutzer auch solche regelmäßigen Backups machen. Ich bin jetzt mal gespannt, wie die rrdstats-Daten aussehen, wenn ich mal wieder ein FW-Update mache und die FB für ein paar Minuten "weg" ist.

Guten Rutsch und Alles Gute für 2010 an alle!
icon14.gif
 
Du verwehcselst da was. RAM ist nicht das gleiche wie Flash. Im Flash wird nämlich nicht ständig geschrieben, sondern im Gegenteil eigentlich nur direkt nach Aufruf oder durch das AVM Webinterface (und auch dort durch aufrufe, aber eben andere)
 
Achso, d.h. der interne FB-Flash wird durch rrdstats nur mit Daten beschrieben, wenn die Graphen angezeigt werden sollen?
 
Nein, auch das passiert im RAM.
 
Die beiden Pfade, die als Standard dort vorgegeben sind, liegen im RAM der Box. Folglich bedeutet ein Neustart/ Absturtz/ etc. der Box, das die Daten verloren sind.
Ändert man den Pfad für Persistent (dort werden die Protololldaten, die minütlich gespeichert werden abgelegt) ab auf ein externes Medium, so sind diese auch nach dem Neustart noch vorhanden. Im "Temporäres Verzeichnis" werden nur die Grafiken für die Anzeige im WebIF abgelegt.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.