Есть ли командная строка, эквивалентная gnome-дискам?
Гном Диски (gnome-disks
- ранее известный как palimpsest
) предоставляет SMART и некоторую информацию для бенчмаркинга. Исходя из того, что я понял, он был основан на инструменте командной строки udisks
но эти проекты, похоже, слились.
Новая утилита Gnome Disks отображает только средние результаты сравнительных тестов. Из скриншотов предыдущие версии palimpsest, как представляется, имеют максимальные и минимальные ответы в результатах.
Меня интересуют все результаты сравнительного анализа - в частности, я пытаюсь найти диски, которые негативно влияют на пользователей, отсеивая диски с медленным вводом / выводом в худшем случае. Я также хочу отобразить эти данные с течением времени, поэтому мне нужно иметь возможность обрабатывать / экспортировать их программным способом.
я смотрел на udisksctl
(в пакете udisks2), но это просто общая информация о дисках и некоторая информация SMART.
Есть ли инструмент командной строки, который запускает старый udisks
отчет о бенчмаркинге стиля, а также минимумы и максимумы?
1 ответ
Я не могу говорить со старым отчетом о тестировании UDISK, но, возможно, fio
будет полезен для вас. fio
в настоящее время доступно для всех версий Ubuntu от Precise To Zesty
Вы можете установить его с sudo apt-get install fio
после активации репозитория Universe
Некоторое быстрое тестирование показывает, что вы можете выбрать раздел для тестирования, просто убедившись, что pwd
(Настоящий рабочий каталог) находится в разделе, который вы хотите проверить.
Например, вот результаты, которые я запускаю на своем корневом разделе, который находится на SSD-накопителе Toshiba THNSNH128GBST (my / 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, что делает его тем, что наилучшим образом отражает то, что будут испытывать приложения. Это тот, который вы, вероятно, захотите построить график.
Ширина полосы пропускания довольно очевидна, за исключением части per =. В документах говорится, что он предназначен для тестирования одного устройства с несколькими рабочими нагрузками, поэтому вы можете увидеть, сколько ввода-вывода потреблялось каждым процессом.
Когда fio запускается на нескольких устройствах, как я сделал для этого вывода, он может обеспечить полезное сравнение, независимо от того, что его целью является тестирование определенной рабочей нагрузки.
Я уверен, что неудивительно, что задержка на жестком диске намного выше, чем на твердотельном накопителе.
Источники:
https://tobert.github.io/post/2014-04-17-fio-output-explained.html