Мониторинг дисковой активности
От: DemAS http://demas.me
Дата: 18.03.08 12:46
Оценка:
Есть три винта, на каждом может быть по несколько логических разделов.

Есть желание удобно получать информацию: физ. чтение / запись (KB/sec)
+ длину очереди (или как назвывается в linux этот аналог perfomance
counter-а).

Если будет возможность узнать какое именно приложение создает эту
дисковую активность — вообще здорово.

Чем лучше смотреть? Пока нашел iostat, но что-то у меня сильное
подозрение, что он показывает усредненную величину за сеанс —
чтение/запись kb/sec. По крайне мере, от увеличения нагрузки на винт
его показания меняются очень незначительно.
Posted via RSDN NNTP Server 2.1 beta
Re: Мониторинг дисковой активности
От: MShura  
Дата: 18.03.08 15:50
Оценка:
DAS>Чем лучше смотреть? Пока нашел iostat, но что-то у меня сильное
DAS>подозрение, что он показывает усредненную величину за сеанс —
DAS>чтение/запись kb/sec. По крайне мере, от увеличения нагрузки на винт
DAS>его показания меняются очень незначительно.

Меня в своё время устроила информация из /sys/block/<disk>/stat
Посмотрите Documentation/block/stat.txt

там же /sys/block/<disk>/<partition>/stat найдете статистику по простым томам на этом диске.
Re[2]: Мониторинг дисковой активности
От: DemAS http://demas.me
Дата: 19.03.08 10:18
Оценка:
Извини, если я туплю, но ведь там тоже инкрементная информация, так?

http://www.mjmwired.net/kernel/Documentation/block/stat.txt
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Мониторинг дисковой активности
От: MShura  
Дата: 19.03.08 10:35
Оценка:
DAS>Извини, если я туплю, но ведь там тоже инкрементная информация, так?

DAS>http://www.mjmwired.net/kernel/Documentation/block/stat.txt


Не очень понимаю, что значит инкрементная.
По сути там не уменьшающиеся во времени положительные значения — счетчики тех величин, которые они описывают со старта системы.
Если их считывать скажем раз в секунду и вычитать предудущее значение, то получим усредненные за 1 секунду значения.
Чтобы не заморачиваться с вычитанием, я для своих нужд перед операцией обнулял (из ядра) все значения, а после операции считывал их.
Меня интересовала не скорость, а абсолютные значения.
Re[4]: Мониторинг дисковой активности
От: DemAS http://demas.me
Дата: 19.03.08 10:47
Оценка:
> Меня интересовала не скорость, а абсолютные значения.

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

Так как эти данные я постоянно (каждую секунду) я вывожу на экран, то
обнулять счетчики, наверное, не есть хорошо.

Остается вариант с запоминанием предыдущего значения и самостоятельным
подсчетом дельты. Так и сделаю, хотя, мне казалось, что задача
распространенная и ее уже не раз решали.
Posted via RSDN NNTP Server 2.1 beta
Re: Мониторинг дисковой активности
От: nuro Россия  
Дата: 19.03.08 11:00
Оценка:
Здравствуйте, DemAS, Вы писали:

DAS>Есть три винта, на каждом может быть по несколько логических разделов.


DAS>Есть желание удобно получать информацию: физ. чтение / запись (KB/sec)

DAS>+ длину очереди (или как назвывается в linux этот аналог perfomance
DAS>counter-а).

DAS>Если будет возможность узнать какое именно приложение создает эту

DAS>дисковую активность — вообще здорово.

DAS>Чем лучше смотреть? Пока нашел iostat, но что-то у меня сильное

DAS>подозрение, что он показывает усредненную величину за сеанс —
DAS>чтение/запись kb/sec. По крайне мере, от увеличения нагрузки на винт
DAS>его показания меняются очень незначительно.

http://sourceware.org/systemtap/wiki/ScriptsTools
Re[5]: Мониторинг дисковой активности
От: MShura  
Дата: 19.03.08 12:34
Оценка:
DAS>Остается вариант с запоминанием предыдущего значения и самостоятельным
DAS>подсчетом дельты. Так и сделаю, хотя, мне казалось, что задача
DAS>распространенная и ее уже не раз решали.

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

Строку форматирования, с помощью которой формируется содержимое файла stat, можно найти в файле linux/block/genhd.c в функции disk_stats_read

"%8lu %8lu %8llu %8u %8lu %8lu %8llu %8u %8u %8u %8u\n",


Эту строку (или её часть) можно использовать для чтения из файла
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.