Как я могу получить список программ, выполняющих дисковый ввод-вывод?
У меня есть сервер (на котором работает 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 был выпущен совсем недавно.