[vz-users] Richtige Strategie für S0 Impulszählung

Peter Klüber pklueber at online.de
Sat Dec 21 10:20:51 CET 2013


Am 20.12.2013 18:21, schrieb Florian Knodt:
> Nabend,
>
> Am 20.12.2013 17:00, schrieb andreas bergelt:
>> Jeder Impuls wird erstmal in das Filesystem im Device File geschrieben und gelöscht.
> Wenn du damit /dev/ttyUSBx meinst: Das ist direkt das Gerät mit einem
> RAM-Puffer, geht also (sofern nichts SWAPt) nicht auf die SD-Karte
>
>> Ich möchte weder eine Platte dran hängen noch einen anderen Rechner laufen lassen.
> <trollmodus>eine SSD? ;)</>
>
>> Ich habe schon eine RAMlog angelegt und var/log drin laufen.
>> Kann man eigentlich auch andere Folder so einhängen
> ich vermute du meinst damit ein tmpfs, ja, dass kann man prinzipiell
> überall einhängen
>
>> wie zum Beispiel "/sys/devices/virtual/gpio/"?
> Da eher nicht, denn /sys ist - wie du selbst weiter unten ja schon
> vermutet hast - wiederum ein Zugriff auf die Hardware, welcher direkt
> über den Speicher läuft ;)
>
>> Wenn ja wie geht das?
> Einmalig:
>
> mount -t tmpfs -o size=123 tmpfs /wo/es/hin/soll
>
> 123 -> maximal 123MB
>
> Zu beachten ist allerdings, dass die alten Dateien in dem Ordner bis man
> es unmountet nicht mehr zugreifbar sind, man muss sie also ggf.
> entsprechend per Hand kopieren. Ebenfalls sind die Daten im RAM
> natürlich weg wenn man neu startet.
>
> Dauerhaft ginge es mit einer Zeile in /etc/fstab, z.B.
>
> tmpfs     /tmp       tmpfs defaults,size=123 0 1
>
>> Aktuell versuche ich den Weg zu gehen die Anzahl der Impulse zu sammeln in der RAM Disk um dann einmal die Stunde die Daten in die DB zu schreiben mittels vzclient
> Ich nutze keinen vzclient, daher bitte nochmal selbst genauer nachlesen,
> aber wenn ich auf der Liste richtig gesehen hab bringt der bereits eine
> entspechende Aggregierung mit die sich recht ähnlich anhört.
>
>> So richtig chic finde ich es noch nicht und gehe davon aus, dass ich den Wald vor lauter Bäumen nicht sehe wie ich die WriteIOs auf der Karte reduzieren kann damit ich lange Spaß an der SD Karte habe.
> Auch wieder Schätzung, da ich dasRaspi-Image nicht kenne und es
> eventuell ja schon drin ist:
>
> - Temporäre Sachen wie /tmp, /run, /var/lock und eventuell /var/log in
>    ein tmpfs
> - dirty_ratios anpassen (/proc/sys/vm/dirty_) - bestimmt wie viele Daten
>    im "unsicheren" RAM gehalten werden bevor die Platte/SD anfängt zu
>    schreiben
> - Mit commit=600 o.Ä. mounten - schreibt das Journal des Dateisystems
>    statt alle 5 Sekunden nur noch alle 10 Minuten. Heißt aber auch, dass
>    man bei Abstürzen/Stecker ziehen mehr Daten verlieren/beschädigen
>    kann.
>
> Eine weitere (aber auch wesentlich kompliziertere) Idee wäre es das
> komplette System oder zumindest die am mesten beschriebenen Ordner ins
> RAM zu verfrachten. Beim boot müsste man die Daten von der SD in ein
> tmpfs laden, im Betrieb z.B. per rsync regelmäßig Änderungen im RAM auf
> die SD zurück schreiben. Ich habe sowas auf einigen Servern laufen, auf
> denen Datenverlust nicht so kritisch ist, auf dem Raspi könnte das aber
> mit dem Speicher eng werden.
>
> Ebenfalls eventuell ein weg: Andreas hat im Raspi-Performance-Thread
> einen Aggregator vorgestellt, der eigene Tabellen nutzt. Sofern der
> inkrementell Arbeiten würde und einen Datenverlust in der Quelltabelle
> verkraften würde müsste man auch die data-Tabelle auf MEMORY (also
> komplett im RAM) umstellen können - ist aber auch wohl eher eine große
> Baustelle.
>
Hallo Florian,
vielen Dank für die ausführliche Antwort.
Leider habe ich nicht alles verstanden, das liegt aber nicht an Dir 
sondern an meinen mangelten Kenntnissen beim Programmieren.
Zur Zeit habe ich aber ein größeres Problem mit dem Rasperi.
Es werden keine Daten mehr angezeigt und die rechte (grüne) LED blinkt 
nicht mehr.
Die anderen LEDs sind alle  4 an.
Ich bekomme das Rasperi dann meistens nur zum laufen wenn ich sudo 
apt-get update und sudo apt-get dist-upgrade ausführe.
Ich habe heute einen Versuch gemacht mit xxd </dev/ttyUSB0 und mit 1 
durchgeführt da kamen die Zählerwerte richtig an.
Danach habe ich Frontend gestartet und es lief wieder.
Den Abbrüche kann ich keiner Laufzeit und keinen Zeitpunkt zuordnen.
Die kommen ganz unregelmäßig ich kann mir darauf keinen Reim machen.
Ist es unverschämt, wenn ich Dich bitte noch mal  über das Programm 
zuschauen.

Viele Grüße bis heute Abend
Peter


More information about the volkszaehler-users mailing list