Есть ли командная строка, эквивалентная gnome-дискам?

10

Диски Gnome ( gnome-disksранее называвшиеся palimpsest) предоставляют SMART и некоторую информацию для бенчмаркинга. Исходя из того, что я понял, он был основан на инструменте командной строки, udisksно эти проекты, похоже, объединились.

Новая утилита Gnome Disks отображает только средние результаты тестов. На скриншотах предыдущие версии palimpsest, как представляется, имеют максимальные и минимальные ответы в результатах.

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

Я посмотрел udisksctl(в пакете udisks2), но это просто общая информация о дисках и некоторая информация SMART.

Существует ли инструмент командной строки, который запускает udisksотчет по сравнительному анализу старого стиля и также возвращает минимумы и максимумы?

Tu-Reinstate Моника-Дор Дух
источник
Какую версию Ubuntu вы используете?
YouAGitForNotUsingGit
Смесь, каждая без полки выпускается между 12.04 и 16.10.
Tu-Reinstate Моника-Дор Дух

Ответы:

7

Я не могу говорить со старым отчетом о сравнительном тестировании udisks, но, возможно, fioон будет вам полезен. fioв настоящее время доступно для всех версий Ubuntu от Precise To Zesty

Вы можете установить его sudo apt-get install fioпосле активации репозитория Universe

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

Например, вот результаты, которые я запускаю на своем корневом разделе, который находится на жестком диске Toshiba THNSNH128GBST (мой / 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%

Запуск в моем домашнем каталоге, который находится на жестком диске Western Digital 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 это был лучший показатель для приблизительной задержки на уровне приложения.

lat кажется довольно новым. Кажется, что этот показатель запускается в тот момент, когда структура IO создается в fio, и завершается сразу после clat, что делает его тем, что наилучшим образом отражает то, что будут испытывать приложения. Это тот, который вы, вероятно, захотите построить график.

м.т. Пропускная способность является довольно очевидно для одного = исключением части. В документах говорится, что он предназначен для тестирования одного устройства с несколькими рабочими нагрузками, поэтому вы можете увидеть, сколько ввода-вывода потребляется каждым процессом.

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

Я уверен, что неудивительно, что задержка на жестком диске намного выше, чем на твердотельном накопителе.

Источники:

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

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

Старейшина Гик
источник