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

контролировать ввод-вывод в раздел tmpfs?

Как я могу контролировать скорость записи в раздел tmpfs. Он не отображается в выводе vmstat или iostat.

Я запускаю несколько процессов Python, которые много пишут в tmpfs и вносят свой вклад в загрузку. Нагрузка высока, но ЦП, память, дисковый ввод-вывод и т. Д. Все в штатном режиме. Кажется, что нагрузка каким-то образом косвенно учитывает этот тяжелый ввод-вывод tmpfs. Я хотел бы знать скорость записи, чтобы иметь представление о верхних пределах для каждого хоста. Я вслепую, любая помощь будет оценена по достоинству.

tmpfs не является блочным устройством, поэтому обычные инструменты мониторинга ввода-вывода вам не подходят.

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

Типичные варианты использования pv включить такие вещи:

pv /path/to/your/log | gzip >/logarchivedir/log.gz
tar cvfz - /your/directory | pv >/outputdir/yourdir.tar.gz

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

У меня было такое же желание мониторинга - мне приходит в голову /dev/shm может быть установлен на петлевое устройство (т.е. /dev/loop0) и это устройство петли можно контролировать [1]. Проблема в том, что устройству цикла потребуется статический файл, отформатированный с его собственной файловой системой, и который побеждает точку скорости с tmpfs.

Но обратите внимание, хотя tmpfs нелегко отслеживать, /dev/ram0 и т.д. может быть по умолчанию.

Возможно, эксперт по Linux может прокомментировать, можно ли установить tmpfs напрямую на устройство цикла, я не уверен.

[1] iostat, похоже, не сообщает статистику по устройствам с петлями (проверено на linux 3.14.27 / fedora 19).