Linux смотрите загрузку процессора
Обновлено: 21.11.2024
В этой статье мы объясним одну из важнейших задач системного администрирования Linux — мониторинг производительности в отношении загрузки системы/ЦП и средних значений нагрузки.
Прежде чем двигаться дальше, давайте разберемся с этими двумя важными фразами во всех Unix-подобных системах:
- Нагрузка на систему/нагрузка на ЦП — это показатель чрезмерной или недостаточной загрузки ЦП в системе Linux; количество процессов, которые выполняются ЦП или находятся в состоянии ожидания.
- Средняя загрузка — это средняя загрузка системы, рассчитанная за заданный период времени в 1, 5 и 15 минут.
Технически считается, что в Linux средняя нагрузка представляет собой скользящее среднее число процессов в очереди выполнения (ядра), помеченных как работающие или непрерываемые.
Обратите внимание:
- Все, если не большинство систем на базе Linux или других Unix-подобных систем, возможно, где-то будут отображать средние значения нагрузки для пользователя.
- Система Linux, полностью простаивающая, может иметь нулевое среднее значение нагрузки, за исключением процесса простоя.
- Почти все Unix-подобные системы учитывают только процессы в состоянии выполнения или ожидания. Но это не относится к Linux, он включает процессы в непрерываемых спящих состояниях; те, которые ожидают других системных ресурсов, таких как дисковый ввод-вывод и т. д.
Как отслеживать среднюю загрузку системы Linux
Существует множество способов мониторинга средней загрузки системы, включая время безотказной работы, которое показывает, как долго работает система, количество пользователей вместе со средней нагрузкой:
Числа читаются слева направо, и вывод выше означает, что:
- средняя загрузка за последнюю минуту: 1,98
- средняя загрузка за последние 5 минут: 2,15
- средняя загрузка за последние 15 минут: 2,21
Высокие средние значения нагрузки означают, что система перегружена; многие процессы ожидают процессорного времени.
Мы раскроем это в следующем разделе в отношении количества ядер ЦП. Кроме того, мы также можем использовать другие хорошо известные инструменты, такие как top и looks, которые отображают состояние работающей системы Linux в режиме реального времени, а также многие другие инструменты:
Высшее командование
Инструмент "Взгляд"
Средние значения нагрузки, отображаемые этими инструментами, считываются из файла /proc/loadavg, который можно просмотреть с помощью команды cat, как показано ниже:
На настольных компьютерах есть инструменты с графическим интерфейсом, которые мы можем использовать для просмотра средних показателей загрузки системы.
Понимание средней нагрузки системы по отношению к количеству ЦП
Мы не можем объяснить системную нагрузку или производительность системы, не проливая свет на влияние количества ядер ЦП на производительность.
Многопроцессорность против многоядерности
- Многопроцессорность – два или более физических процессора интегрированы в одну компьютерную систему.
- Многоядерный процессор — это один физический процессор, который имеет как минимум два или более отдельных ядра (или то, что мы также можем назвать процессорными блоками), которые работают параллельно. Это означает, что у двухъядерного процессора 2 двухъядерных процессора, у четырехъядерного — 4 процессора и т. д.
Кроме того, существует процессорная технология, впервые представленная Intel для улучшения параллельных вычислений, называемая гиперпоточностью.
При многопоточности одно физическое ядро ЦП представляется операционной системе как два логических ядра ЦП (но на самом деле существует один физический аппаратный компонент).
Обратите внимание, что одно ядро ЦП может одновременно выполнять только одну задачу, поэтому были реализованы такие технологии, как несколько ЦП/процессоров, многоядерные ЦП и гиперпоточность.
При наличии более чем одного ЦП несколько программ могут выполняться одновременно. В современных процессорах Intel используется сочетание нескольких ядер и технологии гиперпоточности.
Чтобы узнать количество процессоров, доступных в системе, мы можем использовать команды nproc или lscpu следующим образом:
Другой способ найти количество процессоров с помощью команды grep, как показано.
Теперь, чтобы лучше понять нагрузку на систему, мы сделаем несколько предположений. Допустим, у нас есть средние значения нагрузки ниже:
В одноядерной системе это будет означать:
- ЦП в среднем был загружен полностью (100 %). 1 процесс выполнялся на ЦП (1,00) за последнюю минуту.
- ЦП простаивал в среднем на 60 %; за последние 5 минут ни один процесс не ожидал процессорного времени (0,40).
- ЦП был перегружен в среднем на 235%; 2,35 процесса ожидали процессорного времени (3,35) за последние 15 минут.
В двухъядерной системе это будет означать:
- Один ЦП в среднем простаивал на 100 %, один ЦП использовался; ни один процесс не ожидал процессорного времени (1,00) за последнюю минуту.
- ЦП простаивал в среднем на 160 %; никакие процессы не ждали процессорного времени. (0,40) за последние 5 минут.
- ЦП были перегружены в среднем на 135%; 1.35 процессов ждали процессорного времени. (3.35) за последние 15 минут.
Вам также может понравиться:
В заключение, если вы являетесь системным администратором, вам стоит беспокоиться о высокой средней нагрузке. Когда они высокие, превышающие количество ядер ЦП, это означает высокий спрос на ЦП, а низкие средние значения нагрузки ниже количества ядер ЦП говорят нам о том, что ЦП используются недостаточно.
Если вам понравилась эта статья, подпишитесь на уведомления по электронной почте о руководствах по Linux. Если у вас есть вопросы или сомнения? обратитесь за помощью в разделе комментариев.
Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:
TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.
Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.
Мы благодарны за вашу бесконечную поддержку.
Похожие сообщения
5 мыслей о «Понимание средней нагрузки Linux и мониторинг производительности Linux»
Спасибо, что поделились, мы скоро проверим и пересмотрим статью.
Я согласен с Трентоном в том, что эта статья неверна. ЦП является единственным из факторов, которые могут вызвать высокую нагрузку. Мой сервер использует 40% ЦП, но нагрузка составляет 2,5.
Что может быть важнее: 1 минута, 5 минут или 15 минут?
Эта статья неверна. Средняя загрузка — это не загрузка ЦП, а загрузка процесса. Если в очереди процессов находится в среднем 4 процесса, и все они ожидают диска, средняя загрузка будет равна 4, но загрузка ЦП, например, может составлять 20% в одноядерной системе. Используйте «man proc» и найдите load avg.
Есть что сказать? Присоединяйтесь к обсуждению. Отменить ответ
Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются данные ваших комментариев.
Производительность ЦП является одним из основных факторов, определяющих производительность системы. Чтобы обеспечить максимальную отдачу от ограниченной вычислительной мощности, необходимо следить за тем, как используется этот ресурс. Мониторинг производительности ЦП может помочь в отладке процессов, управлении системными ресурсами, принятии системных решений и оценке систем в режиме реального времени.
В этом руководстве вы узнаете, как проверить загрузку ЦП в Linux.
Использование ЦП в Linux
ЦП является основным источником всей вычислительной мощности компьютера. Чтобы получить максимальную отдачу от него, необходимо управлять и оптимизировать его использование.
Современные операционные системы оптимизированы для максимально эффективного использования ЦП. Даже другие приложения достаточно оптимизированы. Однако пользователей может и не быть. В моем случае, например, я играю в игры, когда открыты сотни вкладок браузера и выполняется несколько фоновых задач. Хотя все программное обеспечение оптимизировано, мой способ использования приведет к более высокой нагрузке на ЦП.
Если в систему вошли несколько пользователей, загрузка ЦП будет автоматически высокой. Тем не менее, системный администратор может захотеть следить за этим, чтобы убедиться, что кто-то не использует все это, что приводит к общей низкой производительности и работе системы. Если определенный процесс/приложение вызывает слишком большую загрузку ЦП, возможно, он неисправен, содержит ошибки или такова его природа.
Иногда необычное использование ЦП также может указывать на вторжение в систему.
Основываясь на всей этой информации, проверка загрузки ЦП может быть весьма полезной.
Проверить загрузку ЦП в Linux
В случае с Linux существует множество инструментов для мониторинга использования ЦП.Он имеет различные встроенные системные вызовы для извлечения показателей производительности. Некоторые инструменты предустановлены во всех дистрибутивах Linux, некоторые могут потребовать ручной установки.
Все следующие методы демонстрируются в Ubuntu 20.04.1 LTS. Однако они будут прекрасно работать на любом другом современном дистрибутиве.
Проверьте загрузку ЦП с помощью top
Используя top, вы можете контролировать систему в режиме реального времени. Он сообщает краткую информацию о системе, а также список процессов и потоков, которыми в настоящее время управляет ядро Linux. Он также предлагает интерактивные параметры для изменения своего поведения и выполнения различных действий.
Верхний инструмент может отображать загрузку ЦП. Запустите инструмент.
Здесь ключевой линией, на которой следует сосредоточиться, является третья. Кратко поясняются выходные значения. Каждое значение объясняет количество времени, которое ЦП тратит на выполнение каких-либо действий.
- нас: время, затраченное на запуск процессов для людей в «пользовательском пространстве».
- sy: время, затраченное на выполнение процессов «пространства ядра».
- ni: время, затраченное на выполнение процессов с пользовательским (установленным вручную) значением nice.
- id: время простоя.
- wa: время ожидания завершения запроса ввода-вывода.
- привет: время, потраченное на обслуживание аппаратных прерываний.
- si: время, потраченное на обслуживание программных прерываний.
- st: время, потерянное для запуска виртуальной машины, также известное как "украденное время".
Теперь вы можете сортировать и фильтровать список процессов с помощью различных горячих клавиш. Здесь я описал те, которые связаны с использованием ЦП.
- P: Сортировка процессов по загрузке ЦП.
- I: Удалить простаивающие процессы из списка. Чтобы вернуться, нажмите «I» еще раз.
- M: отсортировать список по использованию памяти.
- S: отсортируйте список по продолжительности выполнения процессов.
- U: фильтрация процессов по владельцу.
- K: Завершить процесс. Требуется PID процесса.
Проверить загрузку ЦП с помощью htop
Htop и top по сути являются одними и теми же инструментами. Они оба предлагают одинаковые функции с точки зрения возможностей мониторинга системы. Однако htop предлагает лучшее качество жизни.
Отображение htop по умолчанию более удобно для работы. Пользовательский интерфейс имеет лучшую четкость, чем верхняя часть. Тексты раскрашены и приятны для восприятия. Он также предлагает как горизонтальную, так и вертикальную прокрутку.
Хотя в большинстве дистрибутивов top установлен по умолчанию, вам придется установить htop вручную. Лучше всего установить htop с помощью snap, так как он работает на любом дистрибутиве Linux. Предполагая, что у вас установлен snappy (менеджер пакетов snap), выполните следующую команду.
Я не буду больше ничего обсуждать, поскольку htop используется так же, как и top.
Проверьте загрузку ЦП с помощью iostat
Инструмент iostat сообщает статистику использования ЦП и операций ввода-вывода. Это простой инструмент с простым выводом. Однако он будет сообщать статистику только на момент запуска инструмента. В отличие от top или htop, iostat не предлагает мониторинг системы в реальном времени.
Инструмент iostat входит в состав пакета sysstat. Он доступен практически в любом дистрибутиве Linux. Предполагая, что вы установили пакет sysstat, давайте двигаться дальше.
Хотите получить более подробный отчет? Используйте флаг "-c", чтобы увидеть использование ЦП пользовательскими процессами, системными процессами, ожиданием ввода-вывода и временем простоя.
Используйте флаг "-x" для расширенной статистики. Флаг «-t» определяет, сколько раз должен отображаться каждый отчет.
Проверьте загрузку ЦП с помощью mpstat
Инструмент mpstat является частью пакета sysstat. Инструмент сообщает об использовании отдельных процессоров или процессорных ядер.
Чтобы использовать mpstat, в вашей системе должен быть установлен пакет sysstat. Предполагая, что у вас уже установлен пакет, давайте двигаться дальше.
Вот что означают значения. Каждое значение описывает использование ЦП на определенном уровне.
- %usr: загрузка ЦП на уровне пользователя.
- %nice: загрузка ЦП «хорошими» пользовательскими процессами.
- %sys: загрузка ЦП ядром.
- %iowait: Ожидание чтения/записи диска.
- %irq: обработка аппаратных прерываний.
- %soft: обработка программных прерываний.
- %steal: принудительное ожидание гипервизора, обрабатывающего виртуальные процессоры.
- %guest: запуск виртуального процессора.
- %idle: бездействует.
Проверка загрузки ЦП с помощью sar
Команда sar предназначена для сбора и предоставления информации об активности системы. Он предлагает краткий и простой отчет об использовании ЦП.
Мы можем использовать sar, чтобы предлагать информацию о ЦП с определенным интервалом (в секундах). Хотя это не отчет в режиме реального времени, с ним все же лучше работать.
В последнем примере sar будет работать бесконечно. Мы можем определить, сколько экземпляров sar будет печатать вывод. В следующем примере sar будет печатать вывод с интервалом 5 секунд 10 раз.
Проверьте загрузку ЦП с помощью vmstat
Инструмент vmstat сообщает различную системную информацию, такую как системные процессы, память, подкачка, производительность процессора и ввод-вывод.
Запустите vmstat. Он сообщит системную информацию на момент запуска.
Подобно sar, vmstat может сообщать о состоянии системы с фиксированным интервалом (в секундах).
На последнем шаге vmstat будет работать бесконечно. Чтобы запускать vmstat в течение фиксированного периода времени, укажите количество запусков. Здесь vmstat будет сообщать о состоянии системы с интервалом в 3 секунды 10 раз.
Проверьте загрузку ЦП с помощью Glances
Glances — это мощный инструмент для мониторинга состояния системы. Он написан на Python и использует библиотеку psutil для получения различной системной информации. Glances предлагает множество подробных сведений о системе, таких как мониторинг ЦП, память, использование сети, дисковый ввод-вывод, процессы и использование файловой системы и т. д. Ознакомьтесь с Glances на GitHub.
Установка Glances — простая задача. Следующий метод будет работать в любом дистрибутиве GNU/Linux. Все, что вам нужно, это установить либо curl, либо wget в вашей системе. Glances будет установлен со всеми необходимыми зависимостями.
Glances также доступны в виде Snap-пакета. Предполагая, что в вашей системе установлен snappy (менеджер пакетов snap), установите Glances snap из Snapcraft. Ознакомьтесь с обзором Snapcraft.
Использовать Glances очень просто. Чтобы запустить автономный режим, выполните следующую команду.
Glances также предлагает работать в режиме веб-сервера. Чтобы запустить веб-сервер, выполните следующую команду.
Чтобы получить доступ к серверу, перейдите по следующему URL-адресу.
Для вывода необработанной информации Glances может распечатать вывод в STDOUT.
Заключительные мысли
Существует множество способов увеличить загрузку ЦП. Хотя все они работают нормально, в зависимости от ваших потребностей вам, возможно, придется придерживаться некоторых из них. Если вы системный администратор, то освоение top/htop и Glances обеспечит наибольшую гибкость. Если вы просто хотите быстро получить данные о потреблении системных ресурсов, лучше использовать другие методы.
Проверка загрузки ЦП — это хорошо и полезно. Однако для обеспечения стабильности необходимо убедиться, что ваша система может нормально функционировать даже при максимальной нагрузке. Ознакомьтесь с некоторыми полезными приложениями Linux для стресс-тестирования и оценки производительности процессора.
Об авторе
Сидратул Мунтаха
Студент CSE. Я люблю Linux и играю с технологиями и гаджетами. Я использую как Ubuntu, так и Linux Mint.
Производительность ЦП — это один из аспектов измерения производительности системы. Мониторинг производительности ЦП необходим для отладки процессов внутри любой системы, управления системными ресурсами, принятия системных решений, а также оценки и проверки систем в режиме реального времени.
Существует множество инструментов для мониторинга и отображения производительности процессора. Операционные системы имеют встроенные системные вызовы, которые эти инструменты используют для получения показателей производительности.
В этом руководстве мы рассмотрим лучший инструмент мониторинга использования ЦП и их использование в любых дистрибутивах на базе Linux.
1) Верх
Команда top отображает в режиме реального времени данные о производительности всех запущенных процессов в системе. По умолчанию команда top обновляет данные каждые 5 секунд. Введите «top» в терминале, чтобы просмотреть статистические данные, относящиеся к производительности системы.
Чтобы изменить вывод команды top, нажмите:
'P' для сортировки по загрузке ЦП.
«I», чтобы удалить незанятые процессы с экрана и вернуться обратно, снова нажмите «I».
'M' для сортировки данных по использованию памяти.
'S' для сортировки по длительности выполнения процессов.
'P' для сортировки по загрузке ЦП.
«U» для просмотра процессов, принадлежащих конкретному пользователю.
«K», чтобы завершить процесс.
"R" для изменения процессов.
2) Йостат
Команда iostat показывает загрузку ЦП, загрузку устройств и загрузку сетевой файловой системы. Эта утилита отображает среднюю загрузку ЦП системы с момента последней перезагрузки. Выполнение следующей команды без каких-либо параметров отображает все три отчета.
Чтобы получить список отдельных отчетов, используйте ключи -c, -d и -h для использования ЦП, использования устройства и использования сетевой файловой системы. Следующая команда разделит загрузку ЦП на пользовательские процессы, системные процессы, ожидание ввода-вывода и время простоя.
Следующая команда отобразит расширенную статистику (-x), количество раз (-t), которое должен отображаться каждый отчет для загрузки ЦП (-c).
3) Vmstat
Команда vmstat отобразит статистику о системных процессах, памяти, подкачке, вводе-выводе и производительности процессора. Для отображения статистики данные собираются с момента последнего запуска команды до настоящего времени. Если команда никогда не выполнялась, данные будут от последней перезагрузки до текущего времени.
В системах с несколькими ЦП vmstat усредняет количество ЦП в выходных данных. Команда vmstat обновляет свой вывод подобно команде top.
Следующая команда будет обновлять свой отчет каждые 5 секунд, пока не произойдет прерывание.
Следующая команда отобразит данные, которые будут обновляться каждые 5 секунд, а значения будут повторно измеряться и сообщаться каждую 1 секунду.
В первой строке выводятся средние значения с момента последней перезагрузки компьютера. Остальные строки будут отображать соответствующие текущие значения. Обычный пользователь может запустить команду vmstat.
4) Мпстат
Mpstat является частью пакета sysstat в Linux. Команда mpstat записывает в стандартный вывод сведения об активности каждого доступного процессора, причем процессор 0 является первым. Если активность не выбрана, отчетом по умолчанию является отчет об использовании ЦП.
mpstat без каких-либо параметров будет отображать глобальную среднюю активность всех процессоров
mpstat с опцией -p и 'ALL' будет отображать статистику обо всех процессорах один за другим, начиная с 0.
Следующая команда покажет среднюю загрузку ЦП 4 раза, каждый раз через 2 секунды.
5) Сар
sar – это инструмент мониторинга производительности, предназначенный для сбора, просмотра и записи данных о производительности, который может составить список того, что система постоянно делает. Команда Sar может создавать отчеты и отправлять их по электронной почте системному администратору. Статистика, сообщаемая sar, включает, среди прочего, скорость передачи ввода-вывода, активность подкачки, действия, связанные с процессами, прерывания, сетевую активность, использование памяти и пространства подкачки, использование ЦП, действия ядра и статистику TTY. Запустите sar без каких-либо опций и проверьте вывод. Статистика выходного списка по умолчанию за каждые 10 минут и окончательное среднее значение.
Отображать статистику ЦП 3 раза с интервалом в 2 секунды.
Следующая команда отображает кумулятивную загрузку всех ЦП в режиме реального времени каждые 2 секунды, всего 3 раза.
Параметр "-P ALL" отображает статистику для ВСЕХ отдельных ядер. Если ваша система имеет 4 ядра, то столбец «ЦП» будет содержать числа 0, 1, 2, 3, указывающие на соответствующие номера ядер ЦП. Опция «2 3» отображает статистику каждые 2 секунды 3 раза.
Опция '-P 2' отображает статистику для третьего ядра каждые 2 секунды 3 раза.
6) Частота ядра
CoreFreq — это программное обеспечение для мониторинга производительности ЦП, предназначенное для 64-разрядных процессоров с архитектурами Intel Atom, Core2, Nehalem, SandyBridge и выше семейства AMD. CoreFreq обеспечивает основу для получения данных ЦП с высокой степенью точности. Модуль ядра, демон и пользовательский интерфейс командной строки (CLI) — это три части Corefreq. Модуль ядра будет иметь полный доступ к хосту. В его обязанности входит сбор низкоуровневых данных. Демон пользовательского пространства собирает данные. Вы должны быть пользователем root для запуска демона. Наконец, CoreFreq поставляется с терминальным интерфейсом для представления данных в удобном для человека формате. Этот инструмент командной строки является обычным процессом и может использоваться конечным пользователем.
Необходимое условие
i) CoreFreq использует низкоуровневый счетчик, поэтому вам следует сначала отключить сторожевой таймер NMI через /etc/default/grub.Отредактируйте /etc/default/grub и добавьте аргумент командной строки ядра «nmi_watchdog=0», а затем запустите update-grub.
ii) Нет виртуализации. Виртуальные машины не предоставляют доступ к регистрам, используемым драйвером CoreFreq.
Установить CoreFreq
Установите модуль ядра с помощью insmod
Вывести список модулей CoreFreq с помощью lsmod
Вывод команды dmesg показывает, что CoreFreq распознан процессором.
Запустите демон CoreFreq
Теперь запустите клиент corefreq от имени пользователя.
7) Верх
Htop — это средство просмотра процессов и текстовое приложение для мониторинга системы в режиме реального времени, как и top. Он отображает полный список запущенных процессов и прост в использовании. Он основан на ncurses для просмотра процессов в GUI-подобной среде, работающих в терминале. Htop отображает использование на ЦП, а также использование памяти и подкачки со значительным текстовым графиком, напечатанным вверху. Htop очень удобен в использовании и прост для понимания. Как только вы начнете использовать HTOP, вы можете не вернуться к TOP.
Установите htop с помощью следующей команды в терминале
Запустите htop с помощью следующей команды.
8) Нмон
nmon (монитор производительности Найджела для Linux и AIX) был разработан сотрудником IBM Найджелом Гриффитсом. Этот инструмент используется для мониторинга системных ресурсов, таких как ЦП, память, сеть, диски, файловые системы, NFS, основные процессы в терминале. NMON поддерживает различные архитектуры, такие как POWER, x86, x86_64, Mainframe и ARM (Raspberry Pi). Этот инструмент помогает системному администратору настраивать, оценивать информацию о производительности для устранения неполадок с производительностью ЦП / системы при возникновении некоторых проблем. Для мониторинга в режиме реального времени он использует библиотеку curses для низкой нагрузки на ЦП и отображает статистику на экране и обновляется каждые две секунды. nmon потребляет меньше памяти ЦП по сравнению с другими инструментами, поскольку использует библиотеку curses.
Установка
Пользователям CentOS необходимо установить/включить репозиторий EPEL, чтобы установить nmon.
Введите nmon в терминале и нажмите Enter, nmon отобразит экран приветствия со всеми вариантами дальнейшего использования. Если вы хотите отобразить загрузку ЦП, нажмите c, а чтобы скрыть статистику виджетов загрузки ЦП, снова нажмите 'c'.
9) Взгляды
Glances – это кроссплатформенный инструмент мониторинга на основе curses, написанный на Python и использующий библиотеку psutil для извлечения данных из системы. Взгляните на ЦП, среднюю загрузку, память, сетевые интерфейсы, дисковый ввод-вывод, процессы и использование пространства файловой системы.
Установите превью в вашей системе с помощью следующей команды.
В Ubuntu:
В Centos:
Вы можете запускать Glances в 3 режимах-
<р>1. АвтономныйЕсли вы хотите контролировать свой локальный компьютер (автономно), просто запустите-
<р>2. Клиент/СерверЕсли вы хотите удаленно контролировать компьютер, выполните на сервере следующее.
а затем в клиенте выполните следующую команду.
где @server — это IP-адрес или имя хоста сервера.
<р>3. Веб-серверЗапустите обзоры в режиме веб-сервера, выполнив следующую команду в терминале.
Чтобы изменить частоту обновления страницы, просто добавьте период в секундах в конце URL-адреса. Например, чтобы обновлять страницу каждые 30 секунд, добавьте 10 к URL-адресу сервера просмотра в браузере.
10) Опустить
Cpustat похож на причудливый топ, который делает разные вещи. Большинство инструментов повышения производительности усредняют загрузку ЦП в течение нескольких секунд или даже минут. Это приводит к фантазии об избыточной мощности из-за резкого увеличения использования ресурсов, которое смешивается с менее загруженными периодами. С другой стороны, cpustat берет выборки с более высокой частотой для каждого процесса и суммирует эти выборки с более низкой частотой. Например, он может измерять процесс каждые 200 мс и суммировать выборки каждые 5 секунд, включая минимальные/средние/максимальные значения для некоторых показателей.
Установить Cpustat
Cpustat написан на языке Go. Поэтому вам нужен GO в вашей системе. Если его там нет, установите его с помощью следующих команд в терминале.
В Ubuntu
В CentOS
После того как Golang будет установлен в вашей системе, создайте каталог для Cpustat и сделайте этот каталог доступным для GOPATH.
Установите Cpustat и убедитесь, что каталоги скопированы в папку cpustat.
Добавьте папку bin в переменную среды PATH. Вы также можете добавить следующую строку в ~/.bashrc или /etc/profile в зависимости от того, что вы используете.
Есть два способа отображения этих данных.Либо чистый текстовый список сводного интервала, либо красочная панель с прокруткой каждой выборки. Чтобы отобразить данные в необычном режиме терминала, выполните в терминале следующую команду.
Для запуска в текстовом режиме используйте следующую команду. В текстовом режиме из /proc/stat поступает несколько общесистемных сводных показателей.
Следующая команда будет брать выборку всех процессов каждые 500 мс и суммировать эти данные после 10 выборок, то есть каждые 5 секунд.
Используйте следующую команду для измерения процессов, принадлежащих пользователю root или пользователю ubuntu. Общая статистика системы по-прежнему будет измеряться.
Измерять только процессы "apache" или "mysql". Опция -p команды cpustat принимает список идентификаторов процессов, возвращаемых pgrep. pgrep используется для получения идентификаторов процессов (опция -d).
Используйте следующую команду для записи профиля памяти в файл.
11) производительность
Perf может измерять счетчики производительности ЦП, точки трассировки, kprobes и upprobes, которые включены в ядро Linux в tools/perf. perf начинался как инструмент для использования подсистемы счетчиков производительности в Linux, и в него были внесены различные усовершенствования для добавления возможностей трассировки. Инструменты perf интегрированы в ядро Linux, начиная с версии 2.6, и основаны на подсистеме событий perf. Профилировщик производительности использует аппаратные счетчики для профилирования приложения. Результат этого профилировщика явный и быстрый. Утилита perf находится в пакете linux-tools.
Если вас интересует производительность процессора для определенной «команды», такой как cp. Следующая команда perf профилирует cp во время копирования всего каталога Documents в новое место (Docs).
Если вы хотите найти статистику счетчика ЦП для указанного PID, используйте следующую команду, пока не будет нажато CTRL+C.
Найдите базовую статистику ЦП по всей системе за 10 секунд с помощью следующей команды perf. Вы также можете опустить любой из параметров в параметре -e, чтобы быть более конкретным.
Соберите примеры инструкций пользователя для процессора в течение 5 секунд, а затем используйте отчет о производительности для просмотра отчета.
Собирайте образцы трассировки стека ЦП один раз на каждые 10 000 промахов кэша данных уровня 1 в течение 5 секунд, а затем используйте отчет о производительности для просмотра отчета.
12) тип-топ
Tiptop считывает счетчики производительности оборудования и отображает статистику о запущенных процессах Linux, таких как IPC, или промахах кэша. Он обеспечивает динамическое представление задач, выполняемых в системе, в режиме реального времени. Tiptop очень похож на top, но отображаемая информация поступает от аппаратных счетчиков.
Он имеет два режима работы: режим реального времени и пакетный режим. В обоих режимах в системе периодически запрашиваются значения аппаратных счетчиков, и для каждой задачи выводятся различные коэффициенты.
13) команда ps
Мы можем использовать команду ps, чтобы узнать загрузку процессора для каждого процесса или пользователя. Приведено несколько примеров для понимания
Чтобы отобразить максимальное использование ЦП и памяти процессами, запущенными с правами root.
Выполните следующую команду, чтобы отобразить загрузку ЦП для конкретной команды:
Показать процессы для всех пользователей и не привязанных к терминалу в полном формате листинга с сортировкой
14) команда dstat
Команда dstat — это универсальный инструмент для создания статистики системных ресурсов, а также для отображения статистики процессора. Вам нужно установить его, чтобы использовать его
На Centos
В Ubuntu
Для наблюдения за программой, которая использует больше всего ресурсов ЦП и потребляет больше всего памяти.
Заключение
В этом руководстве мы рассмотрели несколько инструментов мониторинга производительности ЦП и способы их использования. Обязательно прочитайте справочные страницы для каждого из них, так как они также подробно документируют их использование. Помните, что использование этих инструментов также занимает часть ЦП. Например, top занимает от 3% до 4% ресурсов ЦП, а просмотры занимают от 15% до 20% ресурсов ЦП. Поэтому при использовании любого из них вам также необходимо учитывать этот аспект. Короче говоря, вы сможете узнать, какой процесс занимает больше процессорного времени, достаточно ли свободной памяти, не зависают ли процессы в ожидании ввода-вывода, а именно. доступ к диску или сети для полного чтения/записи и многое другое, используя комбинацию нескольких из них.
Invicti Web Application Security Scanner — единственное решение, обеспечивающее автоматическую проверку уязвимостей с помощью Proof-Based Scanning™.
Наша аудитория поддерживает Geekflare. Мы можем получать партнерские комиссионные за покупку ссылок на этом сайте.
Обеспечьте безопасность приложений правильно! Обнаружение, защита, мониторинг, ускорение и многое другое…
Узнайте, сколько процессорного времени или памяти потребляет отдельный процесс или система в целом.
Как системному администратору, вам часто приходится сталкиваться с инцидентами, когда приложение работает медленно или не отвечает из-за высокой загрузки ЦП, памяти или сети. Если на сервере находится только один процесс, то легко узнать, когда процесс потребляет все ресурсы. Однако представьте себе общий сервер, на котором работает несколько служб, и вам нужно найти, какая из них потребляет все ресурсы.
Существует множество программ для мониторинга, которые делают это прямо из коробки. Но если у вас его нет или вы ищете решение на основе команд, то вам сюда. Все они БЕСПЛАТНЫ!
Возможно, вы захотите начать с просмотра результатов top или htop, чтобы увидеть обзор процессов.
Как вы можете видеть ниже, это дает отличное представление о том, что используют все процессы. Если вы посмотрите на первый, то MySQL использует 11,9% ЦП и 2,5% ЦП.
Топ установлен практически на всех дистрибутивах Linux.
После того, как вы определите подозреваемого, вы можете сосредоточиться на этом процессе, а не на всем, что вы видели выше. Вы по-прежнему можете использовать команду top, но с некоторым аргументом.
Допустим, вы знаете идентификатор процесса (PID); вы можете использовать приведенную ниже команду.
Ниже приведен пример top -p 3102
Вы также можете использовать grep с top . Ниже приведен пример проверки использования Docker.
Подобно предыдущему, но с дополнительной информацией. Как видите, у него есть столбец команд, который удобен для определения пути процесса. А еще он красочный.
htop может быть не установлен по умолчанию, но вы всегда можете сделать это, как показано ниже.
Установите htop в Ubuntu
Установите htop на CentOS/RHEL 8.x
взгляды
Как следует из названия, вы получаете представление об использовании системы на одном экране. Запущенные процессы сортируются по загрузке ЦП.
Вы можете установить обзоры в CentOS 8 с помощью DNF, как показано ниже.
для CentOS7 вы можете использовать YUM
Аналогично перечисленным выше, но с блестящей функцией записи вывода в файл, чтобы вы могли просмотреть их позже. Представьте, что существует закономерность возникновения проблемы в определенное временное окно. Вы можете запланировать запись вывода в файл через crontab или другое, а позже вы сможете воспроизвести.
Чтобы записать вывод в файл:
и для воспроизведения:
Он поддерживает несколько аргументов, таких как интервал, образцы и т. д., и я настоятельно рекомендую взглянуть на справочную страницу.
Если вы просто заинтересованы в устранении неполадок в режиме реального времени, просто выполните поверх, и вы должны увидеть, как показано ниже.
Вы можете установить поверх, как показано ниже.
Теперь проверим команду ps.
Вы можете использовать команду ps с PID, чтобы распечатать использование ЦП и памяти.
Вывод должен выглядеть следующим образом.
Интерактивный инструмент командной строки для мониторинга использования ЦП, памяти, дисков, сети, NFS и виртуальной памяти. Чтобы просмотреть верхний процесс (по использованию), вы можете запустить nmon и нажать кнопку t.
Вы можете установить nmon, как показано ниже.
Мониторинг
Monit – это решение с открытым исходным кодом на основе веб-интерфейса и командной строки для мониторинга ресурсов сервера, демонов, файлов, каталогов, файловых систем и т. д.
Monit также получил классный виджет.
Легкое программное обеспечение для мониторинга. Но здесь есть еще что исследовать.
Мониторикс
- Ядро/температура
- Файловая система и ввод-вывод
- Сетевой трафик
- Apache/Mail/FTP/Nginx
- MySQL/Varnish/Memcached
Monitorix также предлагает настройку предупреждений, чтобы вы могли получать уведомления, когда что-то идет не так. Это будет хорошим выбором, если вы управляете облачными серверами и ищете решение для упреждающего мониторинга.
Сетевые данные
Netdata — это мониторинг производительности системных ресурсов, приложений, веб-серверов, баз данных, DNS, почты, аппаратных датчиков и многого другого в режиме реального времени. Это с открытым исходным кодом, и начать работу легко. Все данные собираются, хранятся и передаются для интерактивной визуализации. Данные собираются каждую секунду, поэтому вы ничего не пропустите.
Понравилось многим лидерам отрасли.
Итак, чего вы ждете, попробуйте взять под контроль свои серверы Linux.
Заключение
Я надеюсь, что приведенные выше инструменты помогут вам визуализировать загрузку сервера в режиме реального времени, чтобы вы могли предпринять необходимые действия. Если вы только начали работать системным администратором и хотите пройти практическое обучение, ознакомьтесь с этим курсом Udemy.
Читайте также: