blktrace - дифференциация между последовательным к случайному io

Такая старая машина вряд ли даст Вам очень с точки зрения производительности. Даже дешевая новая машина, вероятно, будет намного лучше.

2
31.08.2014, 14:49
1 ответ

Казалось бы, для получения этой информации можно было бы использовать blktrace + blkparse. Глядя на диаграмму, которую я включил в этот U&L Q&A: Диаграмма между ядром Linux и инструментами производительности?, а именно этот раздел.

ss#1

blktrace кажется, что она будет расположена так, чтобы показать вам этот тип данных. Глядя на man-страницу для blkparse, видно, что в выходные данные можно включить номер сектора .

выдержка из man-страницы blkparse
OUTPUT DESCRIPTION AND FORMATTING
       The output from blkparse can be tailored for specific use -- in 
       particular, to ease parsing of output, and/or limit output fields
       to  those the user wants to see. The data for fields which can be 
       output include:

       a   Action, a (small) string (1 or 2 characters) -- see table below 
           for more details
       c   CPU id
       C   Command
...
       s   Sequence numbers
       S   Sector number

Пример

$ sudo blktrace /dev/sda
Ctrl + C

Затем проанализируйте ее с помощью blkparse:

$ blkparse sda -f "%-10S %D %2c %8s %5T.%9t %5p %2a %3d\n" | head -10
4064336      8,0    3        1     0.000000000  2779  A   R
5090384      8,0    3        2     0.000000404  2779  A   R
5090384      8,0    3        3     0.000001656  2779  Q   R
5090384      8,0    3        4     0.000010042  2779  G   R
5090384      8,0    3        5     0.000013714  2779  I   R
  8,0    3        0     0.000019067     0  m   N cfq2779SN / insert_request
  8,0    3        0     0.000021085     0  m   N cfq2779SN / add_to_rr
  8,0    3        0     0.000026848     0  m   N cfq2779SN / set_active wl_class:2 wl_type:1
  8,0    3        0     0.000029175     0  m   N cfq2779SN / fifo=          (null)
  8,0    3        0     0.000030077     0  m   N cfq2779SN / dispatch_insert

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

Трудной частью будет определение того, какое приложение, вызвало какое событие (события) ввода/вывода на более низком уровне. Для решения этой проблемы вы можете использовать инструмент fatrace, который я подробно описал в этом задании и ответах U&L под названием: Определение конкретного файла, отвечающего за высокий уровень входов/выходов .

Ссылки

2
27.01.2020, 22:13

Теги

Похожие вопросы