Linux HDD / SD-Karten Geschwindigkeit testen
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