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

Мониторинг дискового ввода-вывода с помощью DD

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

[root@vps ~]# dd if=/dev/zero of=/tmp/test bs=64k count=16k conv=fdatasync
dd: invalid conversion: `fdatasync'
Try `dd --help' for more information.

Я также пробовал без обращения, и я не получаю статистику, как большинство сообщений, которые я вижу от других людей. Может кто-нибудь объяснить, почему это так?

[root@vps ~]# dd if=/dev/zero of=/tmp/test bs=64k count=16k
16384+0 records in
16384+0 records out

Для построения графиков попробуйте dstat или iostat с SWAT или Cacti. (Предполагается, что вы не используете Solaris, OpenIndiana или варианты, и в этом случае вы бы использовали Dtrace.)

http://freshmeat.net/projects/dstat/?branch_id=54241&release_id=251831

http://blogs.oracle.com/paisit/entry/import_iostat_data_to_swat

http://forums.cacti.net/post-170326.html

Также посмотрите:

ioapps - http://code.google.com/p/ioapps/

strace_analyzer - http://clusterbuffer.wetpaint.com/page/Strace+Analyzer+-+Next+Generation

strace_analyzer учебник - http://www.linux-mag.com/id/7730/1/

Ваша версия dd явно не поддерживает преобразование fdatasync. Если вы не можете получить из него статистику, вы можете выполнить свои собственные вычисления, используя что-то вроде

time sh -c "dd if = / dev / zero of = / tmp / test bs = 64k count = 16k && sync"

это даст вам общее количество времени, необходимое для записи и синхронизации - вы можете просто разделить объем данных (1 ГБ в вашем примере) на количество времени, чтобы рассчитать среднюю скорость записи.