- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Загрузка ЦПУ в Linux — насколько варит ваш котелок
- Методы проверки
- Проверяем загрузку процессора с помощью команды top
- Немного более модный способ: htop
- Прочие способы проверки степени загрузки ЦПУ
- Как настроить оповещения о слишком высокой нагрузке на процессор
- Заключение
- Использование команды top в ОС Linux
- Введение
- Работа с командой top
- Использование top в фоновом режиме
- Параметры команды top
- Отображение текущей версии
- Определение задержки между обновлениями экрана
- Получение списка столбцов, поддерживающих сортировку
- Сортировка вывода команды top по имени столбца
- Отображение процессов определённого пользователя
- Отображение дополнительных столбцов в таблице top
- Переключение режимов
- Смена цветов
- Резюме
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Загрузка ЦПУ в Linux — насколько варит ваш котелок
Понимать состояние ваших серверов с точки зрения их загрузки и производительности — крайне важная задача. В этой статье мы опишем несколько самых популярных методов для проверки и мониторинга загрузки ЦПУ на Linux хосте.
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Методы проверки
Проверяем загрузку процессора с помощью команды top
Отличным способом проверки загрузки является команда top. Вывод этой команды выглядит достаточно сложным, зато если вы в нем разберетесь, то точно сможете понять какие процессы занимают большую часть ваших вычислительных мощностей.
Команда состоит всего из трех букв: top
У вас откроется окно в терминале, которое будет отображать запущенные сервисы в реальном времени, долю системных ресурсов, которую эти сервисы потребляют, общую сводку по загрузке CPU и т.д
Будем идти по порядку: первая строчка отображает системное время, аптайм, количество активных пользовательских сессий и среднюю загруженность системы. Средняя загруженность для нас особенно важна, т.к дает понимание о среднем проценте утилизации ресурсов за некоторые промежутки времени.
Три числа показывают среднюю загрузку: за 1, 5 и 15 минут соответственно. Считайте, что эти числа — это процентная загрузка, т.е 0.2 означает 20%, а 1.00 — стопроцентную загрузку. Это звучит и выглядит достаточно логично, но иногда там могут проскакивать странные значения — вроде 2.50. Это происходит из-за того, что этот показатель не прямое значение загрузки процессора, а нечто вроде общего количества «работы», которое ваша система пытается выполнить. К примеру, значение 2.50 означает, что текущая загрузка равна 250% и ваша система на 150% перегружена.
Вторая строчка достаточна понятна и просто показывает количество задач, запущенных в системе и их текущий статус.
Третья строчка позволит вам отследить загрузку ЦПУ с подробной статистикой. Но здесь нужно сделать некоторые комментарии:
- us: процент времени, когда ЦПУ был загружен и которое было затрачено на user space (созданные/запущенные пользователем процессы)
- sy: процент времени, когда ЦПУ был загружен и которое было затрачено на на kernel (системные процессы)
- ni: процент времени, когда ЦПУ был загружен и которое было затрачено на приоритезированные пользовательские процессы (системные процессы)
- id: процент времени, когда ЦПУ не был загружен
- wa: процент времени, когда ЦПУ ожидал отклика от устройств ввода — вывода (к примеру, ожидание завершения записи информации на диск)
- hi: процент времени, когда ЦПУ получал аппаратные прерывания (например, от сетевого адаптера)
- si: процент времени, когда ЦПУ получал программные прерывания (например, от какого-то приложения адаптера)
- st: сколько процентов было «украдено» виртуальной машиной — в случае, если гипервизору понадобилось увеличить собственные ресурсы
Следующие две строчки показывают сколько занято/свободно оперативно памяти и файла подкачки, и не так релевантны относительно задачи проверки нагрузки на процессор. Под информацией о памяти вы увидите список процессов и процент ЦПУ, который они тратят.
Также вы можете нажимать на кнопку t, чтобы прокручивать между различными вариантами вывода информации и использовать кнопку q для выхода из top
Немного более модный способ: htop
Существует более удобная утилита под названием htop, которая предоставляет достаточно удобный интерфейс с красивым форматированием. Установка утилиты экстремально проста:
Для Ubuntu и Debian:
sudo apt-get install htop
Для CentOS и Red Hat:
yum install htop
dnf install htop
После установки просто введите команду ниже:
Как видно на скриншоте, htop гораздо лучше подходит для простой проверки степени загрузки процессора. Выход также осуществляется кнопкой q
Прочие способы проверки степени загрузки ЦПУ
Есть еще несколько полезных утилит, и одна из них (а точнее целый набор) называется sysstat.
Установка для Ubuntu и Debian:
sudo apt-get install sysstat
Установка для CentOS и Red Hat:
yum install sysstat
Как только вы установите systat, вы сможете выполнить команду mpstat — опять же, практически тот же вывод, что и у top, но в гораздо лаконичнее.
Следующая утилита в этом пакете это sar. Она наиболее полезна, если вы ее вводите вместе с каким-нибудь числом, например 6. Это определяет временной интервал, через который команда sar будет выводить информацию о загрузке ЦПУ.
К примеру, проверяем загрузку ЦПУ каждые 6 секунд:
Если же вы хотите остановить вывод после нескольких итераций, например 10, добавьте еще одно число:
Так вы также увидите средние значения за 10 выводов.
Как настроить оповещения о слишком высокой нагрузке на процессор
Одним из самых правильных способов является написание простого bash скрипта, который будет отправлять вам алерты о слишком высокой степени утилизации системных ресурсов.
Скрипт будет использовать обработчик sed и среднюю загрузку от команды sar. Как только нагрузка на сервер будет превышать 85%, администратор будет получать письмо на электронную почту. Соответственно, значения в скрипте можно изменить под ваши требования — к примеру поменять тайминги, выводить алерт в консоль, отправлять оповещения в лог и т.д.
Естественно, для выполнения этого скрипта нужно будет запустить его по крону:
Для ежеминутного запуска введите:
Заключение
Соответственно, лучшим способом будет комбинировать эти способы — например использовать htop при отладке и экспериментах, а для постоянного контроля держать запущенным скрипт.
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Источник
Использование команды top в ОС Linux
Введение
Команда top используется в операционной системе Linux для отображения всех активных процессов внутри неё. Данная статья рассказывает о работе с командой top, предоставляя обзор её параметров и отображаемой информации.
Работа с командой top
В простейшем случае, для того, чтобы отобразить активные процессы, нужно просто ввести в терминале Linux следующее:
При этом отображается следующая информация:
В первой строке отображается:
- Время
- Время работы компьютера
- Число пользователей
- Средняя нагрузка (за последний час, полчаса и 15 минут)
Во второй строке отображается:
- Общее число задач
- Количество активных задач
- Количество отложенных задач
- Количество приостановленных задач
- Количество задач-зомби
В третьей строке в процентах отображается:
- Загрузка ЦП задачами пользователя
- Загрузка ЦП системой
- Загрузка ЦП процессами с низким приоритетом
- Время бездействия ЦП
- Загрузка ЦП операциями ввода/вывода
- Загрузка ЦП обработкой аппаратных прерываний
- Загрузка ЦП обработкой программных прерываний
- Время, “украденное” гипервизором
В третьей строке отображается:
- Общий объём доступной системе памяти
- Объём свободной памяти
- Объём используемой памяти
- Объём буферного кэша
В четвёртой строке показан:
- Общий объём SWAP (раздела подкачки)
- Объём свободной памяти в SWAP
- Объём использованной памяти в SWAP
- Объём доступной памяти.
В основной таблице отображается:
- ID процесса
- Уровень пользовательского приоритета
- Уровень “вежливости”
- Объём виртуальной памяти, используемой процессом
- Объем физической памяти, используемый процессом
- Объём совместно используемой памяти
- Коэффициент загрузки ЦП процессом, %
- Коэффициент загрузки памяти процессом, %
- Время работы процесса
- Команда
Использование top в фоновом режиме
Получить доступ к команде top и при этом не вводить её каждый раз в терминал весьма просто.
Для того, чтобы приостановить top и продолжить пользоваться терминалом, достаточно нажать Ctrl+Z.
Вернуть top на первый план можно командой fg.
Параметры команды top
-h – отображает текущую версию
-c – переключает столбец command между отображением команды и имени программы
-d – устанавливает задержку между обновлениями экрана
-o – выполняет сортировку по имени
-p – показывает только процессы с заданными ID
-u – показывает только процессы определенного пользователя
Отображение текущей версии
Для того, чтобы получить информацию о версии top, введите следующее:
Вывод при этом имеет следующий вид:
Определение задержки между обновлениями экрана
Для того чтобы задать задержку между обновления экрана во время использования top, наберите следующее:
Например, чтобы обновлять содержимое каждые 5 секунд, введите top -d 5
Получение списка столбцов, поддерживающих сортировку
Для того чтобы получить список столбцов, по которым можно выполнить сортировку, введите следующее:
Команда top выводит множество столбцов, и вы, вероятно, захотите перенаправить вывод и отобразить его при помощи less. Для этого введите:
Сортировка вывода команды top по имени столбца
Чтобы выбрать столбец, по которому можно выполнить сортировку, воспользуйтесь алгоритмом из предыдущего раздела, затем выполните сортировку используя следующий синтаксис:
Например, сортировку по столбцу %CPU можно выполнить при помощи этой команды:
Отображение процессов определённого пользователя
Для того чтобы показать процессы, запущенные определённым пользователем, используйте команду следующего вида:
Например, для того, чтобы отобразить все процессы пользователя gary, введите следующее:
Отображение дополнительных столбцов в таблице top
Во время работы top нажмите клавишу “F” чтобы увидеть список полей, которые можно отобразить в таблице.
Навигация по списку полей осуществляется с помощью клавиш-стрелок.
Чтобы отобразить определённое поле, нажмите клавишу “D”. Чтобы скрыть поле, нажмите “D” ещё раз. Рядом с отображаемыми полями появляется символ звёздочка (*).
Вы можете активировать сортировку таблицы по определенному параметру, просто выделив его и нажав клавишу “S”.
Для того, чтобы изменения вступили в силу, нажмите клавишу “Enter”. Выйти из меню можно при помощи клавиши “Q”.
Переключение режимов
Во время работы top вы можете нажать клавишу “A”, чтобы переходить между стандартным и альтернативным представлением.
Смена цветов
Для того, чтобы изменить цвет значений, отображаемых в top, нажмите клавишу “Z”.
Смена цвета осуществляется в три стадии:
- Нажмите “S” для того, чтобы изменить цвет общих данных, “M” – сообщений, “H” – заголовков столбцов, “T” – информации о задачах.
- Выберите желаемый цвет для выбранного участка. 0 – черный, 1 – красный, 2 – зеленый, 3 – желтый, 4 – синий, 5 – пурпурный, 6 – голубой, 7 – белый.
- Подтвердите свой выбор нажатием клавиши “Enter”. С помощью клавиши “B” можно применить полужирное начертание текста.
Резюме
Команда top имеет множество параметров, для более подробной справки введите в терминале следующую команду:
Источник