Назад | Перейти на главную страницу

дисковых байтов / с чтение и запись

Я пытаюсь понять, как считать прочитанные и записанные байты в секунду. Сейчас я читаю данные из / proc / diskstats, которые выглядят так:

202 0 xvda 80702313 1132334 2823807338 426518304 89838477 177437957 2140229136 1696949080 0 142957364 2123455348

Я прочитал 6-е (чтение секторов / с) и 10-е (количество секторов / с) поля и умножил их на 512 (я решил, что это правильное значение, проверив вывод fdisk, который говорит sectors of 1 * 512 = 512 bytes), который должен дать мне количество байтов. Я беру 2 образца и вычитаю первый из последнего, а затем делю полученные значения на количество секунд между выборками. Однако, похоже, это не дает правильных результатов. Кто-нибудь знает, как это сделать на самом деле? Ищу что-то похожее на то, что sar -b выходы

Спасибо

Потому что вы не можете сравнивать их обоих. sar -b используется в определенное время, с интервалом в 10 минут или в зависимости от того, что вы указали в своем задании cron.

Но / proc / diskstats - это значение времени выполнения ядра. Он рассчитывается не в каком-то конкретном временном интервале, а скорее как счетчик, который ядро ​​сохраняет для учета. Отсюда iostat считывает данные. Если вы укажете iostat -xdk 5 5, то с интервалом в 5 секунд iostat будет читать файл / proc / diskstats и получать оттуда средневзвешенное значение данных. Важно отметить, что / proc / diskstats не зависит от времени, и, следовательно, вы не можете сравнивать его с sar -b, который выполняется через фиксированные, определенные интервалы времени.

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

Используйте iostat с интервалом

iostat -d /dev/xvda <interval(sec)> <counter>

Выполните iostat с интервалом 10 секунд

iostat -d /dev/xvda 10

Если вы хотите получить простой вывод для построения графика

iostat -d /dev/xvda 10 | grep xvda

Тогда это даст вам что-то вроде следующего

xvda               1.30         3.28        38.68    1151011   13583372
xvda              15.00         0.00       100.00          0        100
xvda               0.00         0.00         0.00          0          0
xvda               0.00         0.00         0.00          0          0
xvda               5.00         0.00        32.00          0         32
xvda               0.00         0.00         0.00          0          0
xvda               0.00         0.00         0.00          0          0
xvda               8.00         0.00       240.00          0        240
xvda               0.00         0.00         0.00          0          0

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

Я не уверен, насколько сложно построить график с использованием графита, вы можете скопировать и вставить их в Excel или LibraOffice Calc и создать диаграмму.