Linux мониторинг ввода вывода

Как отследить, какой процесс создаёт нагрузку на диск

Чрезмерная нагрузка на диск может быть вызвана такой причиной как заражение вирусом либо неправильная настройка программ. В любом случае, необходимо начать с идентификации процесса (программы), которая больше всего делает операций чтения и записи на диск.

iotop — аналог top для отслеживания нагрузки на диск в реальном времени

Программа top позволяет увидеть, какие процессы потребляют больше всего процессорного времени и оперативной памяти, но ничего не говорит об использовании процессами диска, об операциях чтения и записи на диск.

Программа iotop показывает скорость чтения и записи на диск, также процент использования файла подкачки каждым процессом.

Для установки iotop в Debian, Linux Mint, Kali Linux, Ubuntu и их производные выполните команду:

Для установки iotop в Arch Linux, BlackArch, Manjaro и их производные выполните команду:

Программа требует повышенных привилегий для запуска:

В выводе программы присутствуют следующие столбцы:

  • TID — идентификатор процесс
  • PRIO — приоритет процесса
  • USER — пользователь, который является владельцем процесса
  • DISK READ — скорость чтения диска
  • DISK WRITE — скорость записи на диск
  • SWAPIN — процент использования файла подкачки
  • IO> — процент от всех операций ввода-вывода
  • COMMAND — запустившая процесс команда

С помощью курсорных клавиш вправо () и влево () вы можете переключаться между столбцами, одновременно выбирая, по какому из них будет выполнятся сортировка.

С помощью кнопок «Home» и «End» вы можете переключаться между крайними столбцами.

Нажатие любой клавиши обновит окно.

Для выхода нажмите «q».

Нажав клавишу «o» вы переключитесь на показ только активных процессов, то есть только процессов, которые записывают и считывают данные с постоянного хранилища. Такой же результат вы можете получить запустив программу с опцией -o:

Повторное нажатие клавиши «o» вернёт показ всех процессов.

По умолчанию используется сортировка по убыванию, с помощью кнопки «r» вы можете переключаться между сортировкой по убыванию и по возрастанию.

Кнопка «p» переключает между показами процессов и потоков.

По умолчанию показываются скорости чтения и записи, с помощью кнопки «a» вы можете переключиться на показ общего количества записанных и прочитанных данных.

Читайте также:  Copy directory with all files linux

У iotop имеется несколько опций, которые позволяют управлять поведением программы, например следующая команда будет работать в пакетном режиме (-b), показывая общее количество записанных и прочитанных данных (-a) только для активных процессов (-o), к выводимым данным будет добавляться метка времени (-t), из всех процессов будет отфильтрована только информация о systemd-journald (grep ‘systemd-journald’):

iotop -b -a -o -t | grep 'systemd-journald'

pidstat — вывод статистики для задач Linux

Пакет sysstat содержит сразу две утилиты с помощью которых можно собрать статистику использования диска процессами:

Для установки pidstat в Debian, Linux Mint, Kali Linux, Ubuntu и их производные выполните команду:

Для установки pidstat в Arch Linux, BlackArch, Manjaro и их производные выполните команду:

Следующая команда будет выводить накопленную статистику за каждые 20 секунд, будут показаны только активные процессы (сделавшие операции чтения и записи на диск за указанный интервал), также будет показана полная команда, запустившая процесс. Для более полной статистики запустите программу с повышенными привилегиями:

Каждая строка будет иметь следующие столбцы:

  • Метка времени
  • UID — числовой идентификатор пользователя
  • PID — идентификатор процесса
  • kB_rd/s — количество килобайт в секунду которые были прочитаны по инициативе указанной задачи
  • kB_wr/s — количество килобайт в секунду которые были (или должны были быть) записаны по инициативе указанной задачи
  • kB_ccwr/s — количество килобайт, запись которых на диск была отменена задачей. Это может произойти, когда задача усекает грязный кэш страниц. В этом случае некоторые операции ввода-вывода, для которых была учтена другая задача, не будут выполняться
  • iodelay — задержка ввода-вывода
  • Command — команда, запустившая задачу

iostat — статистика использования устройств и разделов дисков

Утилита iostat также включена в пакет sysstat. Как можно догадаться из названия программы, она создаёт отчёты по статистике ввода/вывода для устройств и разделов. Её особенностью является то, что она показывает обобщённую статистику для всей системы, а также для отдельных носителей, не разбивая её на процессы. Программа iostat может пригодиться когда необходимо ответить на вопрос: «какой из постоянных носителей подвергается наибольшей нагрузке?».

Запуск программы без опций

выведет два блока информации:

Раздел со статистикой использований устройств содержит следующие разделы:

  • Device — имя устройства или раздела, как оно указано в /dev
  • tps — указывает количество передач в секунду, отправленных на устройство. Передача — это запрос ввода-вывода к устройству. Несколько логических запросов можно объединить в один запрос ввода-вывода к устройству. Размер перевода является неопределённой величиной
  • kB_read/s — указывает объём данных, считанных с устройства, выраженный в количестве блоков (килобайт, мегабайт) в секунду. Блоки эквивалентны секторам и поэтому имеют размер 512 байт
  • kB_wrtn/s — указывает объём данных, записываемых на устройство, выраженный в количестве блоков (килобайт, мегабайт) в секунду
  • kB_dscd/s — указывает количество данных, отбрасываемых устройством, выраженное в количестве блоков (килобайт, мегабайт) в секунду
  • kB_read — общее количество прочитанных блоков (килобайт, мегабайт)
  • kB_wrtn — общее количество записанных блоков (килобайт, мегабайт)
  • kB_dscd — общее количество отброшенных блоков (килобайт, мегабайт)
Читайте также:  Не работает nat linux

Отчёт выводит для всей системы с момента её загрузки.

Поскольку по умолчанию данные выводятся в килобайтах, а современные объёмы информации, записываемой на диск, обычно кратны гигабайтом, что цифры трудны для восприятия. Для вывода чисел в удобных для восприятия единицах используйте опцию -h:

Опция -h является эквивалентом указания сразу двух опций —human и —pretty, поэтому если вы не в полной мере довольны видом выводимого отчёта, то попробуйте использовать эти опции по отдельности.

Для вывода максимальной полной информации, укажите опцию -x:

Если вам нужна информация только об устройствах, то используйте опцию -d:

Вы можете запустить команду указав время интервала (в секундах) и счётчик (количество отчётов) — в этом случае программа будет выводить информацию через заданный интервал:

iostat ИНТЕРВАЛ iostat ИНТЕРВАЛ СЧЁТЧИК

Первый отчёт будет содержать информацию с момента загрузки системы, а последующие отчёты будут содержать информацию за период, прошедший с предыдущего отчёта.

Для поиска проблем, вы можете использовать следующую команду, которая непрерывно будет выводить информацию:

С помощью iostat вы можете следить за скоростью чтения и записи на всё устройство, а также выявлять отброшенные блоки.

Связанные статьи:

Источник

Как контролировать дисковый ввод-вывод в Linux из командной строки

Если ваша система Linux замедляется из-за интенсивных операций ввода-вывода с диском, вы, вероятно, захотите узнать, какие процессы или пользователи (в случае многопользовательских систем) являются виновниками таких действий. Вы также можете отслеживать тенденции дискового ввода-вывода с течением времени в рамках ежедневного администрирования системы Linux. Здесь я представлю несколько инструментов мониторинга дискового ввода-вывода в Linux.

Мониторинг дискового ввода-вывода для каждого процесса

Если вы хотите отслеживать операции дискового ввода-вывода отдельных процессов Linux, вы можете попробовать iotop . Этот инструмент показывает отсортированный список наиболее интенсивных операций ввода-вывода в режиме реального времени с помощью интерфейса, похожего на top .

Установите iotop в Linux

Чтобы установить iotop в Ubuntu или Debian, выполните следующее.

$ sudo apt-get install iotop

Чтобы установить iotop в Fedora, запустите:

Чтобы установить iotop в CentOS или RHEL, сначала настройте репозиторий RepoForge в своей системе, а затем используйте команду yum .

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

Чтобы контролировать системный дисковый ввод-вывод с помощью iotop , просто выполните следующее:

Запуск iotop без каких-либо аргументов, как указано выше, показывает список всех существующих процессов, независимо от их активности дискового ввода-вывода. Если вы хотите, чтобы iotop отображал только те процессы, которые фактически выполняют дисковый ввод-вывод, вместо этого выполните следующее.

Читайте также:  Virtualbox guest additions linux remove

Мониторинг дискового ввода-вывода для каждого диска

Если вас интересует мониторинг скорости чтения/записи отдельных дисков, вы можете использовать iostat . Этот инструмент позволяет отслеживать статистику ввода-вывода для каждого устройства или раздела. Чтобы использовать этот инструмент, вам необходимо запустить пакет sysstat .

Чтобы установить sysstat в Ubuntu или Debian:

$ sudo apt-get install sysstat

Чтобы установить sysstat в CentOS, RHEL или Fedora:

Чтобы контролировать дисковый ввод-вывод отдельных дисковых устройств:

Приведенная выше команда iostat будет сообщать статистику ввода-вывода для каждого устройства, включая количество запросов на чтение/запись в секунду (обозначается как r/s , w/s ), среднюю скорость чтения/записи (в КБ/с), среднее время ожидания чтения/записи (в миллисекундах), средний размер запросов (в секторах) и процент времени ЦП, затрачиваемого на запросы ввода-вывода. Статистика обновляется через каждый указанный интервал времени.

Чтобы контролировать дисковый ввод-вывод отдельных разделов диска:

Источник

10 полезных утилит для мониторинга Linux-сервера

Мониторинг сервера — одна из обязанностей администратора, а в этой статье мы рассмотрим некоторые полезные инструменты, позволяющие сделать выполнение этой обязанности комфортнее. В статье будут рассмотрены только простые утилиты, не требующие сложной настройки и даже установки — многие из них устанавливаются по умолчанию.

# 1 — htop — информативная версия top

Команда htop является усовершенствованной версией всем нам знакомой команды top. Кроме информации об использовании системных ресурсов процессами, которая мало чем отличается от команды top, но представлена в более удобном виде, команда htop строит псевдографические графики загрузки каждого ядра процессора, памяти и свопа. В принципе практически то же самое, что и top, но красивее и нагляднее.

htop.png

htop — более информативная версия top

#2 — atop — продвинутый монитор процессов

Если команда htop — более наглядная версия top, то atop — совсем другая зверушка. Это продвинутый интерактивный монитор производительности. В отличие от top, выводит только новые изменения об активных системных процессах. Позволяет контролировать нагрузку процессора, памяти, накопителя, сети, а также просматривать распределение нагрузок по работающим процессам. В Ubuntu и Debian запускается автоматически и постоянно записывает информацию о процессах в /var/log/atop.log.

atop.png

atop — монитор производительности

#3 — apachetop — мониторинг в реальном времени

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

apachetop.png

#4 — mytop — мониторинг MySQL

Если есть утилита мониторинга Apache, то, вероятно, должна быть и утилита мониторинга MySQL. Для ее запуска нужно указать три параметра:

Источник

Оцените статью
Adblock
detector