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

Antwort per Email an