Linux HDD / SD-Karten Geschwindigkeit testen

Aus Laub-Home Wiki

Möchte man wissen, wie schnell eine Festplatte, SD Karte oder eine SSD im schreiben und lesen ist, kann man dies mit den folgenden Befehlen sehr einfach machen.

Lesengeschwindigkeit mit HDPARM

die Lesengeschwindigkeit (hier von mmcblk0p2) kann man mit dem tool hdparm testen. Das Tool eignet sich allerdings nur für das testen der Lesegeschwindigkeit und muss man erst installiert werden.

# Installation unter Debian based Systems
apt install hdparm
# testen der Lesegeschwindigkeit
hdparm -Tt /dev/mmcblk0p2

Der output sollte dann so aussehen:

/dev/mmcblk0p2:
 Timing cached reads:   1276 MB in  2.00 seconds = 638.19 MB/sec
 Timing buffered disk reads:  68 MB in  3.03 seconds =  22.42 MB/sec

solltet ihr nicht wissen wie euer zu testendes Device heißt, könnt ihr mit dem mount Befehl oder fdisk schauen.

mount
"""
/dev/mmcblk0p2 on / type ext4 (rw,noatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=87348k,nr_inodes=21837,mode=755)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
"""

fdisk -l
"""
Device         Boot  Start      End  Sectors  Size Id Type
/dev/mmcblk0p1        8192   532479   524288  256M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      532480 62333951 61801472 29.5G 83 Linux
"""

Schreibtest mit DD

DD muss man nicht nachinstallieren und kann deshalb einfach den folgenden Befehl absetzen um die Schreibgeschwindigkeit zu testen.

dd if=/dev/zero of=/root/testfile bs=150M count=1 oflag=direct && rm /root/testfile

Dies testet die Festplatte / SSD / SD Karte unter der der Ordner /root gemountet ist. Passt diesen einfach an, falls ihr eine andere Platte testen möchtet. Der Output kann dann so aussehen:

1+0 records in
1+0 records out
157286400 bytes (157 MB, 150 MiB) copied, 7.70028 s, 20.4 MB/s

Schreib und Lesetest mit DD

Man kann auch dd dafür nutzen erst einen Schreibtest zu machen und dann die erstellte Datei zum lesen zu verwenden:

# wechseln in den Ordner in dem ihr testen möchtet
cd /root
# Schreibtest
time dd if=/dev/zero of=testfile bs=64k count=16384
# Lesetest
time dd if=testfile of=/dev/null
# Löschen der Testdatei
rm testfile

Der Output sieht so aus:

# Schreibtest:
16384+0 records in
16384+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 51.4689 s, 20.9 MB/s

real	0m51.481s
user	0m0.026s
sys	0m7.129s

# Lesetest
2097152+0 records in
2097152+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 50.1641 s, 21.4 MB/s

real	0m50.274s
user	0m2.139s
sys	0m11.304s