Как измерить общий диск ввод-вывод в час

На ПК аппаратных средствах диапазоны IO с отображенной памятью присвоены BIOS адресам физической памяти между 3 ГиБ и 4 гибибайтами. Когда драйвер запрашивает доступ к памяти, ядро отображает его где-нибудь в виртуальном адресном пространстве ядра.

Ни один из Ваших других двух вопросов, кажется, не имеет никакого отношения к общей памяти, но:

В обоих случаях, если адрес в пространстве ядра больше, чем PAGE_OFFSET, должен относиться к ioremap, отображающемуся (чтобы быть разрешенным посредством разбиения на страницы), если это ниже, чем PAGE_OFFSET, это могло бы быть разрешено с простым NEW_ADDRESS = OLD_ADDRESS - PAGE_OFFSET. Это корректно?

Мысленно, да. Аппаратные средства используют таблицы страниц в любом случае.

4
04.09.2013, 23:56
1 ответ

Можно использовать инструмент iostat собирать информацию использования диска. Требуется несколько аргументов, включая переключатель, -d:

   -d     Display the device utilization report.

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

Пример

$ iostat -d 3600
Linux 2.6.35.14-106.fc14.x86_64 (grinchy)   09/04/2013  _x86_64_    (4 CPU)

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              20.53        71.86      1259.61   20308334  356000380
dm-0              4.92        39.02        28.81   11027610    8143376
dm-1              0.54         0.93         3.38     261472     954912
dm-2            156.65        31.87      1227.42    9006394  346902056

Вывод от этой команды мог быть перенаправлен в файл:

$ iostat -d 3600 >> iostat_hrly.log

Значение единиц

Если Вы консультируетесь со страницей справочника для iostat это имеет довольно хорошие описания единиц.

выборка

   Blk_read/s
         Indicate the amount of data read from the device expressed in a 
         number of blocks per second. Blocks are equivalent to sectors with
         kernels 2.4 and later and  therefore have a size of 512 bytes. With
         older kernels, a block is of indeterminate size.

  Blk_wrtn/s
         Indicate the amount of data written to the device expressed in a 
         number of blocks per second.

  Blk_read
         The total number of blocks read.

  Blk_wrtn
         The total number of blocks written.

Таким образом, блок составляет 512 байтов, таким образом, Blk_read/s с точки зрения МБ для устройства sda был бы, 71.86 * 512 байтов = 36,79232 килобайтов/секунда.

Существуют дополнительные переключатели, которые изменят единицы автоматически в выводе.

выборка от iostat страница справочника

-h     Make the NFS report displayed by option -n easier to read by a human.

-k     Display statistics in kilobytes per second instead of blocks per 
       second.  Data displayed are valid only with kernels 2.4 and later.

-m     Display statistics in megabytes per second instead of blocks or 
       kilobytes per second.  Data displayed are valid only with kernels 
       2.4 and later.

Пример в кБайт/с

Таким образом, это могло бы быть более полезно, показав пропускную способность в кБайт/с:

$ iostat -dk 3600
Linux 2.6.35.14-106.fc14.x86_64 (grinchy)   09/05/2013  _x86_64_    (4 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              20.85        47.25       663.81   15475096  217427086
dm-0              5.01        20.00        14.43    6549301    4725068
dm-1              0.54         0.58         1.60     189064     524872
dm-2            165.30        26.65       647.78    8730281  212177124
4
27.01.2020, 20:56
  • 1
    Как я связываю Blk_read/wrtn с фактическими байтами? Действительно ли это - размер сектора диска? Таким образом, если Blk_read 20308334, там читается 20308334*512 байтов или приблизительно 10 ГБ? –  marlar 05.09.2013, 10:48
  • 2
    @marlar - вижу обновления. –  slm♦ 05.09.2013, 13:01
  • 3
    BTW: Одна вещь, о которой я не знал, состоит в том, что iostat показывает статистику от того, так как это было выполнено в прошлый раз. Так в первый раз, когда Вы выполняете его, Вы будете видеть накопленную статистику от начиная с ОС bootet. Или если Вы действительно выполняли его некоторое время назад, это покажет статистику с тех пор и не только в прошлый час и т.д. –  marlar 13.09.2013, 12:49
  • 4
    @marlar - да я забыл упоминать это. Не было уверено, как объяснить, что в добавление ко всему, таким образом, я решил пропустить это. Glad это удалось для Вас. –  slm♦ 13.09.2013, 15:00

Теги

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