LINUX.ORG.RU

/proc/diskstats и загрузка диска


0

0

хочу строить графики загрузки ввода/вывода какого то блочного устройста, например жёсткого диска

нашёл описание файла /proc/diskstats

Field 1 -- # of reads issued
Field 2 -- # of reads merged
Field 3 -- # of sectors read
Field 4 -- # of milliseconds spent reading
Field 5 -- # of writes completed
Field 6 -- # of writes merged
Field 7 -- # of sectors written
Field 8 -- # of milliseconds spent writing
Field 9 -- # of I/Os currently in progress
Field 10 -- # of milliseconds spent doing I/Os
Field 11 -- weighted # of milliseconds spent doing I/Os 

мне по идее нужно поле номер 9, но в чём оно измеряется и как перевести это в бит, килобит, мегабит и так далее в секунду

я сравнивал это значение при нагрузке на диск со значением выдаваемым gkrellm, в общем оно не совпадает
anonymous

прошу прощенье, 2 одинаковых топика случайно получилось добавить

anonymous
()
Ответ на: комментарий от anonymous

посмотрите справку по iostat. Там есть некоторые подробности. Если с Cи хорошо, можно посмотреть прямо в исходниках iostat. Наверняка оттуда же берет значения.

Valmont ★★★
()
Ответ на: комментарий от Valmont

судя по описанию поле номер 9 исчисляется штуками

anonymous
()
Ответ на: комментарий от W0wik

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

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

ткните пожалуйста

anonymous
()
Ответ на: комментарий от anonymous

а чем эти не подходят?

Field 3 -- # of sectors read
Field 7 -- # of sectors written

Crocodille
()

так всё понятно, это кол-во незавершённых io-операций(кажется).

anonymous
()
Ответ на: комментарий от anonymous

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

> я непойму только исходя из каких значений стоить график

> ткните пожалуйста

для системы мониторинга метрика Мб/сек не очень подходит. Дело в том, что Мб/сек сильно зависит от того, обращаются ли к диску последовательно (что быстро), или тыкают в случайные сектора (что медленно).

Я бы для метрики использовал долю времени, в течение которой 'I/Os currently in progress' было не равно нулю, в процентах. Может Field 10 или Field 11 это оно и есть.... мониторить так: заметные по длине периоды близкой к 100%-занятости означают что диск является узким местом.

Еще посмотри что "iostat -x 1" пишет в %util. Может то, что я описал и пишет.

gods-little-toy ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.