Zugriffszeit einer Festplatte messen…

Seit einiger Zeit habe ich nach einer einfachen Möglichkeit gesucht, die Zugriffszeit der Festplatte zu messen. Am liebsten währe mir hdparm oder sdparm gewesen. Derzeit wird diese Funktion aber (leider) nicht unterstützt.

Es geht aber viel einfacher:

Mit dd können Daten direkt von Geräten kopiert werden. Es muss also nur ein einzelner Block von der Festplatte gelesen werden.

Auf folgendes muss aber geachtet werden:

  • Der Block darf nicht im Arbeitsspeicher abgelegt sein (durch Caching vom Betriebssystem)
  • Der Block darf zum testen nicht ein zweites mal gelesen werden (da er im Cache liegt).
  • Es darf nur genau ein Block gelesen werden. Ein Block hat 512 Byte und ist die kleinste Speichereinheit einer Festplatte.

Und hier der Befehl:

dd if=/dev/sda of=/dev/zero count=1 (skip=1)

Zur Erklärung:

  • if = Lesen aus (Geräte-)datei – Hier natürlich die Festplatte
  • of = Scheiben in Datei – Hier schreiben wir auf ein virtuelles Gerät um keine Zeitverzögerung zu haben.
  • count = Die Anzahl der Blöcke, die gelesen werden sollen.
  • skip = Wenn Blöcke schon im Arbeitsspeicher liegen können diese mit skip=n übersprungen werden.

Und hier nochmal ein Beispiel:

[root@centos]# dd if=/dev/sda2 of=/dev/zero count=1
1+0 Datensätze ein
1+0 Datensätze aus
512 Bytes (512 B) kopiert, 0,005773 Sekunden, 88,7 kB/s

Wichtig ist, auf die Zeit zu achten. Die gelesenen kB/s können ignoriert werden da der Wert nur hoch gerechnet wurde.

Wenn der Block schon im Arbeitsspeicher zur Verfügung steht, geht das ganze natürlich „etwas“ schneller:

[root@centos]# dd if=/dev/sda2 of=/dev/zero count=1
1+0 Datensätze ein
1+0 Datensätze aus
512 Bytes (512 B) kopiert, 5,1e-05 Sekunden, 10,0 MB/s

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload the CAPTCHA.