Метрики производительности ввода-вывода на уровне файлов и процессов Linux - PullRequest
1 голос
/ 16 февраля 2012

Кто-нибудь придумал решение, позволяющее сообщать показатели производительности ввода-вывода (IOP, MBps) на уровне процесса и / или файла? Я не уверен, поддерживает ли Linux эту информацию, но хотел бы узнать, что делают другие.

Мои варианты использования:

1) Я знаю, что конкретная файловая система и / или устройство работает горячо, но я хочу знать, является ли это конкретный файл, к которому осуществляется доступ, или несколько. Потенциально файловая система сама выставляет эту информацию. Предположим, я использую типичные файловые системы Linux.

2) Я хочу знать, какие процессы способствуют загрузке. В частности, как я могу сообщить о пропускной способности (МБ / с), IOP, времени отклика на уровне процесса? Я знаю, что приложение может быть использовано для решения этой проблемы, однако мне больше интересно понять, предоставляет ли ОС этот уровень данных.

1 Ответ

0 голосов
/ 17 февраля 2012
  1. Вы можете получить список всех открытых файлов на некотором устройстве (например, sda1) с помощью lsof /dev/sda1. Но вряд ли можно получить информацию о пропускной способности на уровне файлов (по крайней мере, я не знаю, как).
  2. Вы можете получить пропускную способность на уровне процесса с помощью iotop. Я не знаю никакого удобного способа получить IOPS, но вы можете найти его периодически, читая /proc/[number]/io.
...