Меню Рубрики

Linux узнать загрузку процессора

Как узнать загрузку процессора и памяти в Linux — команда vmstat

Производительность (или непроизводительность) систем очень сложно оценивать «на глаз» или даже с секундомером. Ведь даже если это и получится, то из виду будут упущены ключевые детали, предоставляющие информацию о том, почему производительность может быть именно такой, а не больше (или меньше). Для выяснения причин стоит углубиться в анализ этой самой производительности более основательно. И для этих целей существуют специализированные утилиты, одной из которых является vmstat – довольно популярный инструмент (после команды top разве что), которым пользуются многие системные администраторы Linux.

Как нужно оценивать производительность?

Вообще, производительность и/или быстродействие — величины постоянные только для конкретного (и довольно короткого) промежутка времени для конкретной системы. Для более объективной оценки необходимо проводить многочисленные «замеры» в разное время в течении довольно длительного (месяц и более) периода.

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

Синтаксис команды vmstat

Утилитой vmstat можно анализировать не только использование процессора, но также память — оперативную и/или дисковую. Синтаксис команды следующий:

Основными аргументами являются delay – время (в секундах), в течение которого следует производить замер, а также count – количество замеров или отчётов. Если дать команду vmstat без указания количества замеров, то она будет выводить отчёты, пока не будет прервано её выполнение сочетанием клавиш .

Вывод vmstat разбит на столбцы, которые объединены в следующие категории:

  • procs – информация о процессах;
  • memory – состояние оперативной памяти;
  • swap – состояние виртуальной памяти (раздел или файл подкачки);
  • io – активность устройств хранения (диски, флешки и т. д.);
  • system – общая активность системы;
  • cpu – использование центрального процессора.

Как уже было отмечено выше, эти категории объединяют колонки из вывода vmstat по соответствующему типу информации. Стоит рассмотреть их по отдельности. Для раздела procs:

  • r – количество процессов в обрабатываемой процессором очереди;
  • b – количество процессов, стоящих в очереди на выполнение операций ввода/вывода.

Для раздела memory:

  • free – размер свободной памяти. То же значение, которое определяется командой free;
  • swpd – количество блоков, которые были перемещены в Swap;
  • buff – буферы памяти;
  • cache – кеш памяти.
  • si – общее количество блоков, считываемых системой из Swap;
  • so – общее количество блоков, перемещаемых системой в Swap.
  • bi – количество блоков в секунду, считываемых с диска;
  • bo – количество блоков в секунду, записанных на диск.
  • in – частота (количество в секунду) системных прерываний;
  • cs – частота переключений между задачами.
  • us – используемое (в процентах) время для выполнения «пользовательских» (т. е. не принадлежащих ядру) задач;
  • sy — используемое (в процентах) время для выполнения задач ядра;
  • id – время (в процентах) в простое;
  • wa — время (в процентах), отведённое на ожидание операций ввода/вывода.

Опции vmstat

Доступные для vmstat опции приведены в следующей таблице:

Опция Назначение
-a, — active Выводит активную и неактивную память. Доступно начиная с ядра версии 2.5.41 и выше.
-f, — forks Выводит количество системных вызовов fork, vfork и rfork, а также страниц виртуальной памяти, используемых этими вызовами.
-m, — slabs Количество используемой динамической памяти для ядра.
-n, —one-header Отображает заголовок таблицы результатов только один раз, а не периодически.
-s, — stats Переключение режима отображения вывода.
-d, — disk Выводит статистику использования диска.
-w Для больших объёмов данных увеличивает визуально ширину столбцов.
-p, — partition device Выводит статистику использования раздела. Необходимо указывать раздел device.
-S, —unit character Выводит статистику в указанных единицах [k, K, m, M] – в килобитах, килобайтах, мегабитах и мегабайтах соответственно.
— t, —timestamp Добавлять к выводу время замеров.
— D, —disk-sum Выводит общую статистику по использованию дисков.

Примеры использования vmstat

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

Вообще, сервер общего назначения считается хорошо отбалансирован в плане нагрузки, если около 50% времени он тратит на обработку пользовательских задач и ещё столько же — на работу системных вызовов, взаимодействующих с ядром. Простои в системе должны быть — это потенциал для увеличения нагрузки, но в то же время они (простои) не должны быть слишком большими — это значит, что мощности сервера расходуются впустую.

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

Заключение

Как можно видеть, даже без использования графических приложений с графиками и диаграммами, обычная команда vmstat способна дать наглядную картину происходящего, касающегося использования ресурсов системы. Ну а самые объективные и достоверные результаты анализа производительности могут зависеть от применяемой для каждого конкретного случая методики.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Загрузка процессора Linux

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

Загрузка процессора Linux может быть получена с помощью различных утилит, например, top, htop или же достаточно просто посмотреть содержимое файла /proc/loadavg чтобы приблизительно понять насколько система перегружена. Но существуют программы, которые способны показывать более детальную информацию. Одна из таких программ — это coreinfo. В этой статье мы рассмотрим как посмотреть загрузку процессора linux с помощью coreinfo.

Программа CoreFreq

Утилита corefreq предназначена для мониторинга нагрузки на процессор в реальном времени. Она поддерживает современные процессоры Intel, архитектуры 64 бит начиная с поколений Atom, Core2, Nehalem, SandyBridge и выше. Также поддерживаются процессоры AMD Family 0F и старше.

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

  • Основные частоты и скорости, а также информацию о SpeedStep (EIST), Turbo Boost, Hyper-Threading (HTT);
  • Счетчики производительности Time Stamp Counter (TSC), Unhalted Core Cycles (UCC), Unhalted Reference Cycles (URC), нагрузка процессора Linux;
  • Количество команд за один цикл PS, IPC, или CPI;
  • Просмотр состояния c-state C0 C1 C3 C6 C7 – C1E;
  • Мониторинг температуры, отслеживание датчиков и просмотр максимальных температур;
  • Топология и просмотр кэшей.

Инструмент corefreq позволяет посмотреть процессор linux и подробную информацию о нем. Он будет очень полезным как опытным пользователям и системным администраторам. так и новичкам, которые хотят побольше узнать о своей системе.

Установка CoreFreq

Это новая утилита, поэтому вы не найдете ее в официальных репозиториях дистрибутивов. Утилиту придется собирать из исходников. Для этого сначала нужно установить среду сборки в вашем дистрибутиве. Выберите одну из подходящих команд для своего пакетного менеджера. Для CentOS/RedHat:

sudo yum group install ‘Development Tools’

Для Fedora выше версии 22:

sudo dnf group install ‘Development Tools’

Для Ubuntu или Debian:

sudo apt install dkms git libpthread-stubs0-dev

Дальше загрузите исходный код corefreq из репозитория GitHub и скомпилируйте программу:

git clone https://github.com/cyring/CoreFreq.git
$ cd CoreFreq
$ make

Этого уже достаточно для запуска программы. Загрузите только что собранный модуль ядра:

sudo insmod corefreqk.ko

Затем запустите службу для сбора и обработки информации:

Установка утилиты и подготовка ее к работе завершена.

Как посмотреть загрузку процессора Linux

Осталось открыть еще один терминал и запустить клиент, чтобы посмотреть что смогла насобирать служба. его уже можно запускать от имени обычного пользователя:

Утилита отображает всю информацию в главном окне. Здесь будет отображена как текущая загрузка процессора linux в правом верхнем углу, так и загрузка по каждому ядру отдельно, а также информация об архитектуре процессора, датчики температуры и состояния. В том числе информацию о текущей нагрузке на процессор и на каждое ядро. Чтобы открыть окно справки нажмите F2. Кнопки стрелок влево и вправо вы можете использовать для перемещения по вкладках меню, а вверх и вниз для выбора пункта меню. Клавиша F4 закроет программу, а h — откроет окно справки. Кроме того, утилита имеет дополнительные опции запуска. Опция k отображает информацию о ядре:

Более подробную информацию о самом процессоре и его производителе можно посмотреть с помощью опции -u:

Наблюдение за количеством инструкций в секунду выполняется опцией -i:

А отслеживание счетчика, возможно, если указать опцию -c:

Опция -d позволяет вывести только частоту и температуру:

И опция -m выводит состояние и топологию кэша процессора:

Выводы

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Как установить 3ds max на mac os
  • Как устанавливать программы на mac os бесплатно
  • Как устанавливать приложения на mac os
  • Как ускорить работу mac os sierra
  • Как уменьшить размер фото mac os