Gibt es eine Befehlszeile, die Gnome-Disks entspricht?

10

Gnome Disks ( gnome-disksfrüher bekannt als palimpsest) bieten SMART- und einige Benchmarking-Informationen. Soweit ich weiß, basierte es früher auf einem Befehlszeilentool, udisksaber diese Projekte scheinen zusammengeführt worden zu sein.

Das neue Dienstprogramm Gnome Disks zeigt anscheinend nur die durchschnittlichen Ergebnisse der Benchmarking-Tests an. Aus Screenshots geht hervor, dass frühere Versionen von Palimpsest auch in den Ergebnissen maximale und minimale Antworten haben.

Ich bin an allen Ergebnissen des Benchmarking interessiert - insbesondere versuche ich, Festplatten zu finden, die sich negativ auf die Benutzer auswirken, indem ich Festplatten mit langsamer E / A im schlimmsten Fall aussortiere. Ich möchte diese Daten auch im Laufe der Zeit zuordnen, damit ich sie programmgesteuert verarbeiten / exportieren kann.

Ich habe es mir angesehen udisksctl(im udisks2-Paket), aber es scheint nur allgemeine Informationen auf den Festplatten und einige SMART-Informationen zu sein.

Gibt es ein Befehlszeilentool, das den udisksBenchmarking-Bericht im alten Stil ausführt und auch Minima und Maxima zurückgibt?

tu-Reinstate Monica-dor duh
quelle
Welche Ubuntu-Version verwenden Sie?
You'reAGitForNotUsingGit
Eine Mischung, jede nicht vorgelegte Veröffentlichung zwischen 12.04 und 16.10.
Tu-Reinstate Monica-dor duh

Antworten:

7

Ich kann nicht mit dem alten Udisks-Benchmarking-Bericht sprechen, aber vielleicht fiowird er Ihnen von Nutzen sein. fioist derzeit für alle Versionen von Ubuntu von Precise To Zesty verfügbar

Sie können es mit installieren, sudo apt-get install fionachdem Sie das Universe-Repository aktiviert haben

Einige schnelle Tests zeigen, dass Sie die zu testende Partition einfach auswählen können, indem Sie sicherstellen, dass sich das pwd(Present Working Directory) auf der Partition befindet, die Sie testen möchten.

Hier sind zum Beispiel die Ergebnisse, die ich auf meiner Root-Partition auf einer Toshiba THNSNH128GBST-SSD (my / dev / sda) bekomme.

$ sudo fio --name=randwrite --ioengine=libaio --iodepth=1 --rw=randwrite --bs=4k --direct=0 --size=256M --numjobs=8 --runtime=60 --group_reporting randwrite: (g=0): rw=randwrite, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=1 ...

  randwrite: (groupid=0, jobs=8): err= 0: pid=15096: Wed Feb 15 13:58:31 2017
  write: io=2048.0MB, bw=133432KB/s, iops=33358, runt= 15717msec
    slat (usec): min=1, max=223379, avg=232.82, stdev=4112.31
    clat (usec): min=0, max=16018, avg= 0.30, stdev=22.20
     lat (usec): min=1, max=223381, avg=233.25, stdev=4112.55
    clat percentiles (usec):
     |  1.00th=[    0],  5.00th=[    0], 10.00th=[    0], 20.00th=[    0],
     | 30.00th=[    0], 40.00th=[    0], 50.00th=[    0], 60.00th=[    0],
     | 70.00th=[    0], 80.00th=[    1], 90.00th=[    1], 95.00th=[    1],
     | 99.00th=[    1], 99.50th=[    1], 99.90th=[    2], 99.95th=[    3],
     | 99.99th=[   31]
    bw (KB  /s): min= 3473, max=241560, per=12.42%, avg=16577.30, stdev=28056.68
    lat (usec) : 2=99.79%, 4=0.18%, 10=0.02%, 20=0.01%, 50=0.01%
    lat (usec) : 100=0.01%, 250=0.01%, 500=0.01%
    lat (msec) : 20=0.01%
  cpu          : usr=0.52%, sys=1.08%, ctx=3235, majf=0, minf=228
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued    : total=r=0/w=524288/d=0, short=r=0/w=0/d=0

Run status group 0 (all jobs):
  WRITE: io=2048.0MB, aggrb=133432KB/s, minb=133432KB/s, maxb=133432KB/s, mint=15717msec, maxt=15717msec

Disk stats (read/write):
  sda: ios=0/197922, merge=0/84378, ticks=0/37360, in_queue=37324, util=93.41%

Das Ausführen in meinem Home-Verzeichnis auf einer Western Digital WD2003FZEX-00Z4SA0-Festplatte mit demselben Befehl führt zu der folgenden Ausgabe:

randwrite: (groupid=0, jobs=8): err= 0: pid=15062: Wed Feb 15 13:53:32 2017
  write: io=1299.6MB, bw=22156KB/s, iops=5538, runt= 60062msec
    slat (usec): min=1, max=200040, avg=1441.http://meta.stackexchange.com/questions/122692/moderator-tools-make-merging-questions-a-little-easier74, stdev=11322.69
    clat (usec): min=0, max=12031, avg= 0.41, stdev=32.24
     lat (usec): min=1, max=200042, avg=1442.29, stdev=11323.05
    clat percentiles (usec):
     |  1.00th=[    0],  5.00th=[    0], 10.00th=[    0], 20.00th=[    0],
     | 30.00th=[    0], 40.00th=[    0], 50.00th=[    0], 60.00th=[    0],
     | 70.00th=[    0], 80.00th=[    1], 90.00th=[    1], 95.00th=[    1],
     | 99.00th=[    2], 99.50th=[    2], 99.90th=[    3], 99.95th=[    9],
     | 99.99th=[   14]
    bw (KB  /s): min=  426, max=282171, per=13.12%, avg=2906.99, stdev=17280.75
    lat (usec) : 2=98.88%, 4=1.03%, 10=0.05%, 20=0.04%, 50=0.01%
    lat (usec) : 100=0.01%, 250=0.01%
    lat (msec) : 10=0.01%, 20=0.01%
  cpu          : usr=0.09%, sys=0.25%, ctx=7912, majf=0, minf=227
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued    : total=r=0/w=332678/d=0, short=r=0/w=0/d=0

Run status group 0 (all jobs):
  WRITE: io=1299.6MB, aggrb=22155KB/s, minb=22155KB/s, maxb=22155KB/s, mint=60062msec, maxt=60062msec

Disk stats (read/write):
  sdb: ios=0/94158, merge=0/75298, ticks=0/116296, in_queue=116264, util=98.40%

Ich habe die während des Betriebs erzeugte Ausgabe gekürzt, um diese Antwort in einer lesbaren Größe zu halten.

Erklärung der Ausgabe, die ich interessant fand:

Sie können sehen, dass wir für alle diese Metriken einen minimalen, maximalen Durchschnitt und eine Standardabweichung erhalten.

Lamelle zeigt Übermittlungslatenz an -

clat zeigt die Abschlusslatenz an. Dies ist die Zeit zwischen der Übermittlung an den Kernel und dem Abschluss der E / A ohne Übermittlungslatenz. In älteren Versionen von fio war dies die beste Metrik zur Annäherung an die Latenz auf Anwendungsebene.

lat scheint ziemlich neu zu sein. Es scheint, dass diese Metrik in dem Moment beginnt, in dem die E / A-Struktur in fio erstellt und direkt nach clat abgeschlossen wird. Dies ist diejenige, die am besten darstellt, welche Anwendungen erfahren werden. Dies ist diejenige, die Sie wahrscheinlich grafisch darstellen möchten.

bw Bandbreite ist bis auf den per = Teil ziemlich selbsterklärend. In den Dokumenten wird angegeben, dass ein einzelnes Gerät mit mehreren Workloads getestet werden soll, sodass Sie sehen können, wie viel E / A von den einzelnen Prozessen verbraucht wurde.

Wenn fio wie bei dieser Ausgabe auf mehreren Geräten ausgeführt wird, kann es einen nützlichen Vergleich liefern, unabhängig davon, ob der Zweck darin besteht, eine bestimmte Arbeitslast zu testen.

Ich bin sicher, dass es keine Überraschung ist, dass die Latenz auf der Festplatte viel höher ist als die der Solid-State-Festplatte.

Quellen:

https://tobert.github.io/post/2014-04-17-fio-output-explained.html

https://github.com/axboe/fio/blob/master/README

Elder Geek
quelle