Auf der Suche, warum der Cubieboard mit Debian Jessie nach ein paar Tagen abstürzt. Teil 3: Workaround tägliches rebooten

Habe nun mal ein anders Netzteil verwendet, aber auch nach 3 Tagen ist der Cubi wieder abgestürzt. An der Stromversogung kann es also wohl nicht liegen!

Dann habe ich mir mal den Speicherverbrauch angeschaut, da ich die Vermutung hab, das der Apache2 oder die Mysql den Speicher vollaufen lassen und es zu einem Speicherüberlauf mit Absturz kommt.

Ich habe nun mal Testweise einen CRON Job angelegt, der einmal am Tag ein Reboot durchführt, in der Hoffnung das er dann länger als 3 Tage läuft. Das behebt zwar nicht die Ursache, aber wenn es läuft ist das mal ein Workaround (siehe Bild mit der Telefonzelle) … 😉

Der Cron-Job kann wie folgt angelegt werden und zwar mit root Zugang:

und in der letzten Zeile folgenden Eintrag ergänzen. „Auf der Suche, warum der Cubieboard mit Debian Jessie nach ein paar Tagen abstürzt. Teil 3: Workaround tägliches rebooten“ weiterlesen

Raspberry Pi: Wie kann der Speicher einer SD-Karte vergrößert werden bei Kali Linux 2.0?

Wenn Kali 2.0 auf einer größeren SD-Karte installiert ist, als Kali groß ist, dann muss der Speicher noch freigegeben werden.

Wie sieht die Speichernutzung nach der Installation aus? Es werden ca. 3 GB für Kali benötigt:
df

Die Vergrößerung geht mit „Raspberry Pi: Wie kann der Speicher einer SD-Karte vergrößert werden bei Kali Linux 2.0?“ weiterlesen

Raspberry Pi: „Man merkt oft erst, was man hatte, wenn man es verliert“

Nach dem Motto „Man merkt oft erst, was man hatte, wenn man es verliert“, mal die Package entfernen die nach einer Neuinstallation von mir meistens nicht benötigt werden, und nur Platz verschwenden, da der Raspberry Pi bei mir immer über die Kommandozeile per SSH bedient wird.

Es werden also keine X-Server usw. benötigt. Für Packages die nicht installiert sind, braucht es auch keine Sicherheitsupdates und wenn man doch mal ein Package braucht kann man es ja auch leicht wieder installieren.

Jetzt kann mal mal mit df -h schauen, was man verloren hat:
df -h

Ok, auf der 8 GB Karte ist noch 6 GB Frei!

Oder habe ich noch was vergessen, was nicht benötigt wird (dpkg --list)? Gern als Kommentar.

Wie kann schnell auf einem Raspberry Pi die Speicherbelegung mit ncdu 1.8 angezeigt werden?

Ncdu ist ein ncurses-basierter Betrachter zu du. Verzeichnisse können schnell durchsucht und die prozentuale Plattenbelegung angezeigt werden (wie du (disk usage)).

Installiert ist das Ncdu mit einem

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ncdu

Es werden folgende Abhängigkeiten installiert:
ncdu
„Wie kann schnell auf einem Raspberry Pi die Speicherbelegung mit ncdu 1.8 angezeigt werden?“ weiterlesen

Wie wird der Speicher des Raspberry Pi für die Nutzung ohne Monitor (mit SSH) optimiert?

Der Raspberry Pi (Model B) hat 512 MB RAM die sowohl die CPU als auch die GPU benutzen können. Default wird der RAM Speicher zwischen CPU und GPU mit 448 MB zu 64 MB aufgeteilt. Das kann noch optimiert werden wenn z.B. kein Monitor verwendet wird und nur mit SSH gearbeitet wird.

Nach Aufruf von
sudo raspi-config
zum Menüpunkt 8 Advanced Options gehen und Select wählen.

Bildschirmfoto 2014-01-30 um 16.50.31
Dann unter A3 Memory Split und Select
Bildschirmfoto 2014-01-30 um 19.07.25
Dann im Textfeld eingeben, wieviele MB vom Speicher der Grafikkarte zugewiesen werden sollen. Der minimale Wert von 16 erlaubt der CPU 496 MB Speicher zu benutzen.

Bildschirmfoto 2014-01-30 um 16.49.57

Dann noch einen reeboot
Bildschirmfoto 2014-01-30 um 16.51.04

So hat der rPi ca. 50 MB mehr zur Verfügung wie das SYSMON Plugin von Fhem zeigt:
Bildschirmfoto 2014-01-30 um 17.13.05und nachher
Bildschirmfoto 2014-01-30 um 17.20.47
Den Anstieg des RAMs ist auch im Diagramm gut sichtbar
Bildschirmfoto 2014-01-30 um 17.33.54
Wenn die Einstellung ohne raspi-config gemacht werden soll, kann auch die /boot/config.txt Datei auf gpu_mem=16 gesetzt werden. Nach reeboot stehen die neuen Einstellungen bereit.

Kennt ihr noch weitere Optimierungen?

Wie kann der Jenkins Server auf dem Raspberry Pi installiert werden?

Mein lieblings Butler ist Jenkins. Er läßt sich in ein paar Minuten auf dem Raspberry Pi einrichten. Einfach das Package installieren mit Eingabe eines Befehls auf der Konsole:

sudo apt-get install jenkins

Nach der Installation kann Jenkins mit sudo ./etc/init.d/jenkins start
Bildschirmfoto 2013-10-24 um 20.44.45 gestartet werden.

Dann den Browser öffnen und starten mit der URL:
http://198.192.2.1:8080 (IP-Adresse evl. anpassen)

Und schon läuft Jenkins:

Jenkins Build Server
Jenkins Build Server

Jenkins Top 10 Mindmap und Wikisumme.

Wieviel Speicher und CPU brucht Jenkins? top

Jenkins top
Jenkins top

Aber warum läuft es anscheinend nicht wenn ich auf Jenkins-Verwalte klicke?
Dazu erst einmal htop installieren mit: sudo apt-get install -y htop
und starten mit htop, es ergibt folgendes Bild:
Bildschirmfoto 2013-10-24 um 21.50.22
Der Rechner ist also voll ausgelastet, und tatsächlich nach einigen Minuten! kommt der gewünschte Dialog:
Bildschirmfoto 2013-10-24 um 21.54.25

Die Geschwindigkeit ist sehr schlecht. Klick auf Jenkins verwalten dauert mehr als 9 Minuten!
Bildschirmfoto 2013-10-25 um 12.39.30

Wie kann der verwendete Speicher auf dem WR703N mit OpenWrt und Fhem angezeigt werden?

Das geht mit dem Linux Befehl:
top
der nach der Anmeldung per SSH eingegeben werden kann. Man sieht gut, das fhem das unter Perl läuft und am meisten (37%) virtuelle Prozessgröße in KB (VSZ) verbraucht.

Linux Befehlt "top" zum Anzeigen der Auslastung
Linux Befehlt „top“ zum Anzeigen der Auslastung

free und ps geben auch noch einige Größen an.

Die Spalte STAT oder S zeigt den Prozesszustand an und bedeutet:

  • R – running (Prozess wartet auf den Prozessor)
  • S – sleeping (Prozess schläft)
  • D – Prozess ist in einem ununterbrechbaren Schlaf
  • I – idle (Prozess wird gerade erzeugt)
  • L – locked (eine Seite im Hauptspeicher wurde gesperrt)
  • O – Prozess, der gerade die CPU beansprucht
  • Z – Zombie (Prozess wurde beendet, aber Elternprozess hat noch nicht aufgeräumt)
  • X – Prozess wartet auf freien Speicher
  • T – Unterbrochen (gestoppt)
  • W – Prozess ist ausgelagert

Berechnung der zu erwartenden Größe der Arduino Log Datei

Ausgehend von einem Eintrag, den der Arduino mit 2 Temp. Sensoren erzeugt, in dieser Form:

11-11-2013_11:11:11 Arduion.Temperatursensor_1 T: 20.12

Die Länge ist 55 Zeichen lang.
Bei einer Messung alle 10 Sekunden mit 2 Sensoren ergibt das
55 x 6 x 2 = 660 pro Minute
das sind am Tag
660 x 60 x 24 = 959.400
im Monat
959.400 x 30 = 28.512.000
im Jahr
28.512.000 x 365 = 10406880000
das sind dann in MB
10.406.880.000 / 1.000.000 = 10406,88 MB
also in GB
10.406,88 MB / 1000 = 10,40688 GB im Jahr.

Das ist zuviel für einen 8 GB USB-Stick.
Wenn die Messzeit um den Faktor 100 verlängert wird, also alle 10 x 100 = 1000 Sekunden (alle 16 Minuten), müsste im Jahr
10,40688 GB im Jahr / 100 = 0,1040688 GB im Jahr anfallen,
das sind dann pro Monat:
0,1040688 GB / 12= 0,0086724 GB oder
0,1040688 GB / 1000 = 104,0688 MB pro Monat

Wie kann für den TL WR703N ein externer USB-Stick als Speicher verwendet werden?

Wenn der TL WR703N mit OpenWRT 12.09 Attitude Adjustement und Luci 0.11.1 geflasht wurde, bleibt nur noch ca. 870 KB an Speicher frei.

Wie kann nun ein externer USB Stick an den WR703 angeschlossen werden?

1. USB-Stick vorbereiten

Der USB Stick muss vorher, mit ext4 an einen anderen Rechner formatiert werden, da der Speicher dafür nicht ausreicht.
Ich habe einen 8 GB Stick mit einer Partitionen wie folgt erstellt:

8 GB Stick, ext4, primäre Partition, aktive – /dev/sda1

unter Windows erstellt und formatiert mit dem Partition Wizard Home Edition wie in beschrieben.

2. Firmware flashen

Neue Firmware über Luci GUI geflasht, auf 12.09 r36088, da die „alte“ Probleme machte.

3. USB-Stick einbinden

Wie in beschrieben vorgegangen.

Dann gem. der Anleitung:

ls /dev/sd*
opkg update

opkg install kmod-usb-storage
opkg install kmod-fs-ext4 block-mount

# ab jetzt ist auch in Luci der Tab vorhanden und zwar unter System – Mount Points

mkdir -p /mnt/sda1
mount /dev/sda1 /mnt/sda1

mkdir -p /tmp/cproot
mount – -bind / /tmp/cproot
tar -C /tmp/cproot -cvf – . | tar -C /mnt/sda1 -xf –

umount /tmp/cproot
umount /mnt/sda1

vi /etc/config/fstab
# in der config mount Sektion
option target /
option enabled 1

reboot
df # zeigt den Speicher an
Bildschirmfoto 2014-07-05 um 10.12.38

Speicher ist nun genug vorhanden. Das kann auch unter Luci angezeigt werden:
Bildschirmfoto 2014-07-05 um 10.14.03
Und die gemachten Änderungen aus der /etc/config/fstab werden so angezeigt:
Bildschirmfoto 2014-07-05 um 10.14.20