Как я могу получить список программ, выполняющих дисковый ввод-вывод?

У меня есть сервер (на котором работает CentOS 5), и мне нужно выяснить, какие программы (MySQL, Apache и т. Д.) Выполняют больше всего операций дискового ввода-вывода? Есть ли команда, которая позволит мне рассчитать среднее значение по времени?

4 ответа

Помогает что-то вроде iotop, есть разные версии, так что посмотрите на ЭТОГО, Гугл, и на другие.

Для мониторинга активности вывода IO вы можете попробовать с iostat, например, основное использование:

iostat -x [-d]

Опция -x отображает расширенную статистику. Вы определенно хотите это. -d необязательно. Это устраняет загрузку процессора, чтобы не загромождать вывод.

Прочтите справочные страницы для получения дополнительной информации.

Вы можете попробовать установить пакет sysstat и использовать SAR и iostat. Они дают лучшую видимость в течение определенного периода времени, если это то, что вы ищете.

РЕДАКТИРОВАТЬ: Забыли ссылку... http://www.princeton.edu/~unix/Solaris/troubleshoot/diskio.html

В то время как sysstat доступен для CentOS, конкретный пакет, который вы хотите, не поставляется с CentOS 5.

Вам нужно скачать sysstat с главной страницы, которая находится здесь. Настройте и скомпилируйте его. Последняя версия поставляется с программой под названием pidstat. Эта программа даст вам то, что вы хотите. Он работает так же, как другие * stat утилиты, такие как iostat, mpstat и vmstat. Обратите внимание, чтобы передать флаг -d.

Вы не должны устанавливать эту версию, ее двоичный файл несовместим с файлами, которые он создает. Просто скопируйте скомпилированную программу pidstat и вставьте ее в /usr/local/bin.

pidstat -d 1 3
Linux 2.6.35.11-83.fc14.x86_64 (home.localdomain)   04/09/2011  _x86_64_(2 CPU)

07:39:40 PM       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command

07:39:41 PM       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
07:39:42 PM       888      0.00      4.00      0.00  jbd2/dm-2-8

07:39:42 PM       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command

Average:          PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
Average:          888      0.00      1.32      0.00  jbd2/dm-2-8

Вывод должен быть довольно понятным.

Обратите внимание, что вам нужно запустить ядро, которое поставляется как минимум с CentOS 5.4. Честно говоря, если вы все равно не обновляетесь, существует множество причин безопасности, и CentOS 5.6 был выпущен совсем недавно.

Другие вопросы по тегам