是否有等效于gnome-disks的命令行?


10

Gnome 磁盘gnome-disks-以前称为palimpsest)提供SMART和一些基准测试信息。根据我的收集,它曾经基于命令行工具,udisks但是这些项目似乎已经合并。

新的Gnome 磁盘实用程序似乎仅显示基准测试的平均结果。从屏幕快照中,以前版本的palimpsest似乎在结果中具有最大和最小响应。

我对基准测试中的所有结果都感兴趣-特别是我想通过在最坏的情况下清除I / O速度慢的磁盘来寻找对用户有负面影响的磁盘。我还想随着时间的推移映射这些数据,因此我需要能够以编程方式处理/导出它。

我看过udisksctl(在udisks2软件包中),但它似乎只是磁盘上的常规信息和一些SMART信息。

是否有一个命令行工具可以运行旧版udisks基准测试报告并返回最小值和最大值?


您正在使用哪个版本的Ubuntu?
YoureAGitForNotUsingGit

一种混合物,每个非搁置的版本在12.04和16.10之间释放。
tu-Restate Monica-dor duh,2016年

Answers:


7

我无法说说旧的udisks基准测试报告,但也许fio对您有用。fio当前可用于从Precise To Zesty的所有版本的Ubuntu

您可以sudo apt-get install fio激活Universe存储库后使用进行安装

一些快速测试表明,只需确保pwd(Present Working Directory)位于要测试的分区上,即可选择要测试的分区。

例如,这是我在东芝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%

使用相同的命令在Western Digital WD2003FZEX-00Z4SA0 HDD上的主目录中运行,结果如下:

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表示完成延迟。这是从提交到内核到完成IO之间的时间,不包括提交延迟。在老版本的fio中,这是近似于应用程序级延迟的最佳指标。

lat似乎还很新。似乎该度量标准是从io结构在fio中创建开始的,并在冲突发生后立即完成,这使得该度量标准最能代表应用程序将经历的情况。这是您可能要绘制的图形。

bw除了per =部分外,带宽非常不言自明。文档说这是为了测试具有多个工作负载的单个设备,因此您可以看到每个进程消耗了多少IO。

当fio在多个设备上运行时(如我对此输出所做的那样),不管它的预期目的是测试特定的工作负载,它都可以提供有用的比较。

我敢肯定,硬盘驱动器的延迟要比固态驱动器高得多,这不足为奇。

资料来源:

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.