Zum Inhalt springen

Kategorie: Raspberry Pi

SD Card Performance beim Raspberry Pi

Es gibt zwei praktische Scripte, um die Performance der SD Card im Raspberry Pi zu messen:

Leider ist die Performance meiner Sandisk SD Card überschaubar:

CONFIG:
CLOCK : 50.000 MHz
CORE : 400 MHz, turbo=
DATA : 512 MB, /root/test.dat

HDPARM:
======
Timing O_DIRECT disk reads: 64 MB in 3.03 seconds = 21.13 MB/sec
Timing O_DIRECT disk reads: 54 MB in 3.07 seconds = 17.60 MB/sec
Timing O_DIRECT disk reads: 64 MB in 3.05 seconds = 21.01 MB/sec

WRITE:
=====
512+0 Datensätze ein
512+0 Datensätze aus
536870912 Bytes (537 MB) kopiert, 106,699 s, 5,0 MB/s
512+0 Datensätze ein
512+0 Datensätze aus
536870912 Bytes (537 MB) kopiert, 102,108 s, 5,3 MB/s
512+0 Datensätze ein
512+0 Datensätze aus
536870912 Bytes (537 MB) kopiert, 96,1672 s, 5,6 MB/s

READ:
====
512+0 Datensätze ein
512+0 Datensätze aus
536870912 Bytes (537 MB) kopiert, 42,0239 s, 12,8 MB/s
512+0 Datensätze ein
512+0 Datensätze aus
536870912 Bytes (537 MB) kopiert, 40,9591 s, 13,1 MB/s
512+0 Datensätze ein
512+0 Datensätze aus
536870912 Bytes (537 MB) kopiert, 38,3425 s, 14,0 MB/s

RESULT (AVG):
============
Overlay config core_freq turbo overclock_50 WRITE READ HDPARM
400 0 50.000 MHz inf MB/s inf MB/s 19.90 MB/s

Update vom 02.10.2017: Hier meine neue Toshiba SD Karte mit etwas besserer Performance:


CONFIG:
CLOCK : 50.000 MHz
CORE : 400 MHz, turbo=
DATA : 512 MB, /root/test.dat

HDPARM:
======
Timing O_DIRECT disk reads: 66 MB in 3.06 seconds = 21.54 MB/sec
Timing O_DIRECT disk reads: 66 MB in 3.06 seconds = 21.59 MB/sec
Timing O_DIRECT disk reads: 66 MB in 3.07 seconds = 21.47 MB/sec

WRITE:
=====
512+0 Datensätze ein
512+0 Datensätze aus
536870912 Bytes (537 MB) kopiert, 66,0162 s, 8,1 MB/s
512+0 Datensätze ein
512+0 Datensätze aus
536870912 Bytes (537 MB) kopiert, 63,7488 s, 8,4 MB/s
512+0 Datensätze ein
512+0 Datensätze aus
536870912 Bytes (537 MB) kopiert, 66,6666 s, 8,1 MB/s

READ:
====
512+0 Datensätze ein
512+0 Datensätze aus
536870912 Bytes (537 MB) kopiert, 24,804 s, 21,6 MB/s
512+0 Datensätze ein
512+0 Datensätze aus
536870912 Bytes (537 MB) kopiert, 24,687 s, 21,7 MB/s
512+0 Datensätze ein
512+0 Datensätze aus
536870912 Bytes (537 MB) kopiert, 24,8026 s, 21,6 MB/s

RESULT (AVG):
============
Overlay config core_freq turbo overclock_50 WRITE READ HDPARM
400 0 50.000 MHz inf MB/s inf MB/s 21.55 MB/s

Raspberry Pi verschickt keine eMails

Mein Raspberry Pi verschickt eigentlich über den Mailserver dieser Domain eMails, aber von einem Tag auf den anderen Tag kamen keine eMails mehr an. Via mailq habe ich diesen Fehler entdeckt:

C6B178081D 761 Mon Aug 22 18:04:43 [email protected]
(Host or domain name not found. Name service error for name=smtp.mydomain.de type=MX: Host not found, try again)

Die DNS Auflösung für smtp.mydomain.de hat nicht funktioniert. Der Befehl

sudo service postfix check

hat mir dann verraten, dass es Unterschiede zwischen /var/spool/postfix/etc/resolv.conf und /etc/resolv.conf gibt.

diff /var/spool/postfix/etc/resolv.conf /etc/resolv.conf

Warum Postfix eine eigene resolv.conf nutzt, weiß ich nicht. Dort habe ich dann den Inhalt aus /etc/resolv.conf eingefügt:

# Generated by resolvconf
nameserver 192.168.1.1

Und dann noch ein

sudo service postfix restart
sudo service postfix flush

und schon klappt der eMail Versand wieder.

Update vom 25.10.2016.

Diese kleine Script erledigt alles automatisch:

echo 'nameserver 192.168.1.1' | sudo tee --append /var/spool/postfix/etc/resolv.conf > /dev/null
sudo service postfix restart
sudo service postfix flush

SQLite und Java auf dem Raspberry Pi 3

Es ist nicht ganz so einfach, auf dem Raspberry Pi 3 unter Linux mit Java auf eine SQLite Datenbank zuzugreifen, musste ich feststellen. Scheinbar muss eine passende Version von libsqlitejdbc.so für ARM vorhanden sein, was nicht immer der Fall ist. Ansonsten fliegen z.B. Exceptions à la

Error loading native library: /org/sqlite/native/Linux/arm/libsqlitejdbc.so

oder

java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open(Ljava/lang/String;I)V

Funktioniert hat bei mir letztendlich die Version 3.8.10.2, die es hier zum Download gibt, oder so via Dependency in der pom.xml eingebunden werden kann:

<dependency>
    <groupId>org.xerial</groupId>
    <artifactId>sqlite-jdbc</artifactId>
    <version>3.8.10.2</version>
</dependency>