Логгирование и мониторинг нагрузки

Первое, с чего надо начать - определить стадию в которой находится проблема продукта. Так, например если у вас есть немного времени, то начните с установки утилиты atop (собирает статистику). Но, если у Вас времени нет, проблема уже на лицо, то данная страница для Вас.

Мониторинг ЦП

Помимо программы free , которая используется для проверки использования памяти, существует также ряд различных аналогичных инструментов для просмотра использования ЦП (например, tophtopuptimetload и т.п.).

Начнем с наиболее комплексной программы – программы top. В ней фактически отображаются процессы в Linux. Также дается динамическое представление работающей системы в режиме реального времени. Программа может отображать как сводную информацию о системе, так и список процессов и потоков, управляемых в данный момент ядром Linux.

Логгирование и мониторинг нагрузки

Строка 1: top - 10:52:23 up 10 days, 6:20, 2 users, load average: 0.05, 0.03, 0.05

  • текущее время (10:52:23)
  • время работы устройства (up 10 days, 6:20 – 10 дней, 6 часов, 20 минут)
  • пользователи, вошедшие в систему (2 users – 2 пользователя)
  • средняя нагрузка на систему (load average): значения 0.05, 0.03, 0.05 относятся к последним 1, 5 и 15 минутам соответственно.

Строка 2: Tasks: 71 total, 1 running, 70 sleeping, 0 stopped, 0 zombie

  • Общее число работающих процессов (71 totals – 71 процесс)
  • Запущенные процессы (1 running – 1 запущенный процесс)
  • Процессы в режиме ожидания (70 sleeping – 70 процессов в режиме ожидания)
  • Остановленные процессы (0 stopped – 0 остановленных процессов)
  • Процессы-зомби, ожидающие завершения от родительского процесса (0 zombie – 0 процессов-зомби)

Строка 3: %Cpu(s): 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

Данная строка показывает, как используется процессор. Если сложить все значения, данные в процентах, то в сумме мы получим 100% от ЦП. Рассмотрим эти значения по порядку:

  • Пользовательские процессы (0.3% us)
  • Системные процессы (0.0% sy)
  • Процессы ЦП с приоритетом обновления (0.0% ni)
  • Неиспользуемый процент ЦП (99.7% id)
  • Процессы ЦП, ожидающие операций ввода-вывода (0.0% wa)
  • Обслуживание аппаратных прерываний (0.0% hi – запрос аппаратного прерывания)
  • Обслуживание программных прерываний (0.0% si – программное прерывание)
  • Процент ЦП, «украденный» с виртуального устройства гипервизором для выполнения других задач (например, для запуска другой виртуальной машины). Без виртуального устройства на рабочем столе и сервере будет выдаваться 0 (0.0% st — Украденное время)

Строка 4 and 5:

KiB Mem: 501712 total, 355316 used, 146396 free, 38412 buffers

KiB Swap: 0 total, 0 used, 0 free. 257832 cached Mem

4 и 5 строки соответственно показывают использование физической памяти (ОЗУ) и файла подкачки (такие же результаты, как и в программе free).

И последнее, что выдается (по умолчанию) при просмотре использования ЦП, – это процессы, используемые в настоящее время. Каждый из столбцов содержит различную информацию:

  • PID – ID процесса (1)
  • USER – пользователь, который выполняет процесс (root)
  • PR – приоритет процесса (20)
  • NI – приоритет процесса (0)
  • VIRT – виртуальная память, используемая процессом (33496)
  • RES – физическая память, используемая процессом (2692)
  • SHR – совместно используемая память процесса (1304)
  • S – S – показывает статус процесса: S – в режиме ожидания, R – запущенный, Z – зомби (S)
  • %CPU – процент ЦП, используеый процессом (0.0)
  • %MEM – процент ОЗУ, используемый процессом (0.5)
  • TIME+ – общее время работы процесса (0:45:.48)
  • COMMAND – название процесса (init)

Программа tload. Позволяет интерактивно следить за процессом. htop похожа на программу top, но при этом htop можно прокручивать как вертикально, так и горизонтально, что позволяет увидеть все запущенные в системе процессы вместе с их полными командными строками.

Нагрузка на систему

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

Например, возьмем значения 0.07 0.04 0.05. Их можно прочесть как:

  • Средняя нагрузка за последнюю минуту: 0.07
  • Средняя нагрузка за последние 5 минут: 0.04
  • Средняя нагрузка за последние 15 мину: 0.05

Средняя нагрузка – это среднее число процессов, запущенных или ожидающих выполнения за 1, 5 и 15 минут. Эти значения не зависят от количества процессорных ядер, но чем больше ядер, тем больше процессов могут быть запущены одновременно. Так, например, если на устройстве с одним ядром средняя нагрузка равна 3, то устройство перегружено, в то время как для 4-ядерного компьютера это нормальная рабочая нагрузка.

Мониторинг диска

Как правило, при рассмотрении производительности диска всегда отслеживаются два параметра: IOPS и дисковое пространство. Под дисковым пространством понимается количество используемого пространства, а IOPS является стандартной единицей измерения операций ввода/вывода в секунду. Простым языком, IOPS – это операции чтения/записи, выполняемых диском. На устройствах Linux есть также встроенные программы, которые отслеживают эти два параметра:

программа df.

Программа iotop. Простой монитор операций ввода/вывод, похожий на программу top.

Логгирование и мониторинг нагрузки

iotop в виде столбцов отображает пропускную способность ввода/вывода, считываемую и записываемую каждым процессом/потоком в течение периода выборки. Также показывается процент времени, которое процесс/поток потратил на подкачку и ожидание ввода/вывода.

Если недостаточно информации по мониторингу диска, то углубляйтесь »

Источник: 1

p.s. советую на досуге посмотреть доклад "Логгирование и мониторинг нагрузки - Константин Андрюнин"

Оцени публикацию:
  • 0,0
Оценили: 0


Предложения и пожелания:

 

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2019 YaPro.Ru

Лебеденко Николай Николаевич
Ошибка в тексте? Выделите её мышкой и нажмите: Ctrl + Enter