Есть ли хорошая утилита командной строки для мониторинга загрузки жесткого диска в Linux? Нечто подобное, top
но затем мониторинг активности диска iso cpu.
В частности, я подозреваю, что для некоторых серверов (с большой нагрузкой) после нескольких оптимизаций в различных частях программ, которые на нем работают, в настоящее время узким местом является просто регистрация файлов на диске. Но мне очень трудно оценить, какой объем трафика могут обрабатывать серверы.
Моим идеальным инструментом было бы то, что печатает «Вы используете 35% пропускной способности вашего диска прямо сейчас». Есть идеи?
linux
hard-drive
load-testing
Pieter
источник
источник
/sys/block/sda/stat
. Поле # 1 дает общее количество операций чтения, поле # 5 - общее количество операций записи, поле # 9 - количество выполняемых операций ввода-вывода. Подробнее см. В kernel.org/doc/Documentation/iostats.txt Значения без знака долго и могут переноситься.how do you do it with SNMP?
. Это нормально, чтобы войти и проверить вещи, но действительно нужны исторические данные.Ответы:
Вы можете получить довольно хорошую оценку этого с помощью
iostat
инструмента.Использование диска указано в последнем столбце. Это определяется как
источник
apt-cache dump
ничего не сделал для iostatiotop - это версия top, которая показывает, сколько IO использует каждый процесс. Это в стандартных репозиториях Ubuntu; Я не знаю, в RHEL или в Fedora, но так и должно быть.
Для более старых ядер (скажем, CentOS 5.x или RHEL 5.x), которые не поддерживают iotop, используйте вместо этого topio (документировано здесь: http://yong321.freeshell.org/freeware/pio.html#linux . Используется / proc // io для статистики io и предоставляет функциональность, аналогичную iotop. Дополнительную информацию смотрите по ссылке.
источник
Как предполагает Састанин в комментариях, вы можете напрямую обрабатывать значения, указанные в
/sys/block/sda/stat
или/proc/diskstats
. Это может быть полезно, когда ни один из других упомянутых инструментов не доступен, и вы не можете легко установить их.Например (IIUC) что-то вроде этого (в bash) должно давать количество операций чтения в секунду:
См. Https://www.kernel.org/doc/Documentation/iostats.txt и https://www.kernel.org/doc/Documentation/block/stat.txt для документации.
источник
Вы должны взглянуть на atop , который сочетает в себе мощь iotop / top / iftop, все в одном месте, и выделяет важные части вашей системы.
источник
Я бы рекомендовал взглянуть на инструмент nmon. Он покажет вам живую нагрузку на ряд системных параметров, а также записывает данные в файл для последующего просмотра. Это бесплатный инструмент, доступный здесь :
источник
чтобы выяснить, какую общую пропускную способность вы можете использовать
hdparm -T /dev/sda
для тестирования производительности буферного кэша (fileio),hdparm -t /dev/sda
чтобы проверить производительность чтения устройствапримеры: мой ноутбук получает 82 МБ / с с диска SATA и 2 ГБ / с из кеша. Мой декстоп получает 12 ГБ / с из кэша и 500 МБ / с из массива HW RAID. Я подозреваю, что последние цифры могут быть удвоены на оборудовании серверного класса.
установите readahead выше 256, у меня лучше работает 4096
время чтения 1ГБ при разных размерах блока и разных опережающих чтениях
источник
--setra
сейчас-a
и 2),hdparm -{T,t}
команды выдают только чтение с диска, соответственноstrace
, поэтому не являются разрушающими. (Применяется стандартная оговорка о советах в Интернете)Стандартный инструмент для отображения загрузки жесткого диска
iostat
.Он не скажет вам, сколько% возрастной пропускной способности диска вы используете, так как он не знает, сколько пропускной способности у вашего диска. В любом случае на вашем диске имеется только указанная производителем цифра для больших объемов передачи непрерывных данных.
источник
Я думаю, что RRDtool должен делать то, что вы хотите, здесь он использует демон для сброса системных данных, а затем позволяет обрабатывать его так, как вам нравится. Я часто использовал его для создания графиков и т. Д. Для измерения нагрузки на систему.
источник