Чи існує командний рядок, еквівалентний gnome-disks?


10

Диски Gnome ( gnome-disksраніше відомі як palimpsest) надають SMART та деяку інформацію порівняльної оцінки. З того, що я збираю, воно було засноване на інструменті командного рядка, udisksале ці проекти, схоже, об'єдналися.

Нова утиліта Gnome Disks, як видається, лише показує середні результати тестів порівняльного тестування. З екрану екрана, здається, попередні версії palimpsest також мають максимальний і мінімальний рівень відповідей в результатах.

Мене цікавлять усі результати бенчмаркінгу - конкретно я намагаюся знайти диски, які негативно впливають на користувачів, відмиваючи диски з повільним введенням / виводом у гіршому випадку. Я також хочу відобразити ці дані в часі, тому мені потрібно мати можливість обробляти / експортувати їх програмно.

Я подивився udisksctl(у пакеті udisks2), але, здається, це лише загальна інформація на дисках та деяка інформація SMART.

Чи є інструмент командного рядка, який запускає udisksзвіт про тестування старого стилю і також повертає мінімум та максимум?


Яку версію Ubuntu ви використовуєте?
YouAGitForNotUsingGit

Суміш, кожен неприхований випуск між 12.04 та 16.10.
tu-Reinstate Monica-dor duh

Відповіді:


7

Я не можу поговорити зі старим звітом про тестування удиски, але, можливо, вам fioбуде корисний . fioна даний момент доступний для всіх версій Ubuntu від Precision To Zesty

Ви можете встановити його sudo apt-get install fioпісля активації сховища Universe

Деякі швидкі тестування показують, що ви можете вибрати розділ для тестування, просто переконавшись, що pwd(Present Working Directory) знаходиться на розділі, який ви хочете протестувати.

Наприклад, ось результати я запускаю його на своєму кореневому розділі, який знаходиться на Toshiba THNSNH128GBST SSD (мій / dev / sda)

$ 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%

Запуск у моєму домашньому каталозі, який знаходиться на західному цифровому жорсткому диску WD2003FZEX-00Z4SA0 з тією ж командою, призводить до наступного виводу:

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%

Я обрізав отриманий результат, поки він працює, щоб ця відповідь читалася за розміром.

Пояснення результатів, які мені здалися цікавими:

Ви бачите, що для всіх цих показників ми отримуємо мінімальне, максимальне середнє та стандартне відхилення.

планка вказує на затримку подання -

clat вказує на затримку завершення. Це час, який проходить між поданням на ядро ​​і після завершення вводу-виводу, не враховуючи затримки подання. У старих версіях fio це найкращий показник для наближення затримки на рівні програми.

Лат виглядає досить новою. Схоже, що цей показник починається з того моменту, як структура IO створюється у fio, і завершується відразу після клату, що робить цей той, який найкраще відображає те, що будуть відчувати програми. Це ви, ймовірно, захочете графікувати.

bw Пропускна здатність досить зрозуміла, за винятком per = частини. Документи кажуть, що він призначений для тестування одного пристрою з кількома робочими навантаженнями, так що ви можете побачити, яка частина вводу-виводу споживається за кожен процес.

Коли fio працює на декількох пристроях, як я це робив для цього виходу, він може забезпечити корисне порівняння незалежно від того, що його цільова мета полягає в тестуванні певного робочого навантаження.

Я впевнений, що це не дивно, що затримка на жорсткому диску набагато вище, ніж у твердотільному диску.

Джерела:

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.