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

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

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

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

1. Утилита htop

Самый простой способ узнать насколько процессор загружен в данный момент — воспользоваться утилитой htop. Она показывает не только процент загрузки по каждому ядру процессора отдельно, но и позволяет найти процессы, которые нагружают систему больше всего. Для установки htop в Debian или Ubuntu выполните:

sudo apt install htop

А в CentOS или REHL:

sudo yum install htop

Главное окно программы выглядит вот так:

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

2. Файл /proc/loadavg

Если надо сориентироваться какая была нагрузка на процессор в последнее время, тут htop не поможет. Можно воспользоваться файлом /proc/loadavg. Его создаёт ядро и в нём содержится информация о средней нагрузке за одну, пять и пятнадцать минут. Но обратите внимание, данные, находящиеся в этом файле не такие однозначные. Во первых, это не проценты, во вторых, они отображают не нагрузку на процессор, а нагрузку на систему в целом.

Первые три значения в этом файле означают среднее количество процессов или потоков, которые выполняются, находятся в очереди на выполнение или ждут завершения операций ввода/вывода за 1, 5 и 15 минут. Вот:

Обычно, если значение больше единицы — значит нагрузка уже большая и надо разбираться почему. Если значение за минуту меньше значений за пять и пятнадцать минут — нагрузка падает, если больше — растёт. Таким образом можно немного сориентироваться насколько загружена ваша система. Эти значения можно использовать для общего ориентирования или отправки уведомлений на почту, а для разбора полётов уже применять другие метрики и программы.

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

3. Утилита mpstat

Утилита mpstat позволяет посмотреть подробную статистику по использованию процессора. Можно посмотреть не только информацию по каждому из ядер, но и куда используются ресурсы — на ввод/вывод, ядро или программы пространства пользователя. Для установки программы в Ubuntu или Debian выполните:

sudo apt install sysstat

В CentOS или REHL:

sudo yum install sysstat

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

А для просмотра подробностей по каждому ядру процессора используйте опцию -P с параметром ALL:

Вот значения колонок в выводе этой программы:

  • CPU — номер ядра процессора;
  • %usr — потребление программами пространства пользователя;
  • %nice — потребление ресурсов в процентах программами в пространстве пользователя с повышенным приоритетом;
  • %sys — потребление ресурсов процессора ядром;
  • %iowait — затраты на ожидание ввода/вывода;
  • %irq — ресурсы, потраченные на прерывания для работы с аппаратным обеспечением;
  • %soft — ресурсы, потраченные на программные прерывания;
  • %steal — украденные процессорные ресурсы, актуально для виртуальных машин;
  • %guest — ресурсы, потраченные на работу виртуального процессора;
  • %idle — неиспользованные ресурсы.

Как видите, в данном случае нагрузка на процессор не достигает даже трех процента для некоторых ядер.

4. Команда nmon

Утилита nmon позволяет выводить данные, в виде, похожем на htop, но только немного подробнее. Для установки её в Ubuntu и Debian выполните:

sudo apt install nmon

Для установки в CentOS или REHL:

sudo yum install nmon

После запуска надо нажать кнопку c для того чтобы отобразить информацию о нагрузке на ядра процессора:

Здесь кроме наглядной шкалы по каждому ядру выводится информация в процентах по таким показателям:

  • User% — ресурсы, потраченные программами в пространстве пользователя;
  • Sys% — ресурсы, потраченные ядром;
  • Wait% — ресурсы, которые идут на ожидание ввода/вывода;

Здесь уже можно сориентироваться насколько всё загружено и в чём проблема.

5. CoreFreq

Если всей полученной ранее информации о производительности вам мало, можно воспользоваться утилитой CoreFreq. Её нет в официальных репозиториях, поэтому придется собирать программу из исходников. Но зато она имеет свой модуль ядра, который устанавливает свои счетчики производительности в ядре и возвращает утилите наиболее подробные данные. Сначала установите необходимые компоненты. В Ubuntu:

sudo apt install dkms git libpthread-stubs0-dev

В CentOS или REHL:

sudo yum group install ‘Development Tools’

Затем скачайте репозиторий утилиты с GitHub и соберите её:

Похожее:  Программы для проверки стабильности процессора

git clone https://github.com/cyring/CoreFreq.git

Загрузите модуль ядра такой командой:

sudo insmod corefreqk.ko

Запустите её сервис:

Затем запускайте программу:

Вверху программы отображается информация о процессоре, ниже шкалы с загруженностью каждого ядра, а её ниже различные показатели по каждому ядру: частота — Freq, ускорение — Turbo, C0-C7 — значения состояний C-State процессора. В данном примере, большинство ядер процессора работают на минимальной частоте и большую часть времени находятся в состоянии C1. Это состояние означает, что ядро не активно, но может в любой момент перейти к выполнению инструкций. Состояние C0 — означает, что ядро активно и выполняет какие-то действия.

С помощью этой утилиты вы сможете узнать максимально подробную информацию о загрузке процессора и о самом процессоре в целом.

Выводы

В этой небольшой статье мы рассмотрели как определяется загрузка процессора Linux с помощью различных утилит. Как системных, так и сторонних. А какие утилиты для таких целей используете вы? Напишите в комментариях!

Источник



4 инструмента для мониторинга температуры CPU и GPU в Ubuntu

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

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

1. Glances

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

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

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

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

2. Sensors

Sensors — это простая утилита командной строки, которая отображает текущие показания всех чипов датчиков, включая ЦП. Он поставляется с предварительно установленными дистрибутивами Linux, такими как Ubuntu по умолчанию, в противном случае установите его, как показано на рисунке.

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

3. Hardinfo

Hardinfo — это легкий в использовании системный инструмент для тестирования, разработанный для аппаратного анализа и генерации отчетов. Он содержит подробные отчеты о системном оборудовании и позволяет создавать отчеты HTML на оборудовании вашей системы.

Чтобы установить пакет hardinfo в вашей системе Ubuntu Linux, выполните следующую команду.

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

Затем нажмите на датчики, чтобы просмотреть информацию о датчиках, как показано на следующем снимке экрана.

4. i7z

i7z — это небольшая утилита командной строки, которая сообщает информацию о процессорах Intel Core i7, i5, i3, включая температуру. Вы можете установить ее в своей системе Ubuntu, выполнив следующую команду.

После установки запустите i7z с привилегиями root, как показано на ниже.

На этом пока все! В этой статье мы поделились полезными инструментами командной строки для просмотра температуры процессора и графического процессора в системе Ubuntu.

Спасибо за уделенное время на прочтение статьи о 4 инструментах для мониторинга температуры CPU и GPU в Ubuntu!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Источник

Программы для бенчмарка CPU в Linux

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

Бенчмарк и стресс-тест это не одно и то же. И при бенчмарке и при стресс-тесте система получает полную нагрузку. Но главная цель бенчмаркинга это оценка производительности, а главная цель стресс-теста это проверка, сможет ли система функционировать на пределе своей загруженности, либо определить этот предел. Хотя, на самом деле, некоторые программы совмещают в себе обе функции.

Бенчмарк может выполняться дли системы в целом, либо для отдельных её составляющих: для центрального процессора, видеокарты, системы ввода-вывода.

В Линукс имеется несколько программ для оценки производительности центрального процессора, например: sysbench, stress-ng и phoronix-test-suite. Из них stress-ng в первую очередь выполняет функции стресс-теста, но она выводит получаемые метрики, поэтому вполне пригодна для оценки и сравнения производительности системы.

Похожее:  Показ максимальной минимальной и текущей частоты процессора с lscpu

Бенчмарк в sysbench

sysbench — это утилита командной строки. Она создана для оценки производительности серверов с сильно нагруженными СУБД, но подходит и для проведения бенчмарков обычных систем.

Установка в Ubuntu, Linux Mint, Debian, Kali Linux:

Встроенные в программу тесты:

  • fileio — Тестирование файлового ввода/вывода
  • cpu — Тестирование производительности CPU
  • memory — Тестирование скорости функций памяти
  • threads — Тестирование производительности подсистемы потоков
  • mutex — тест производительности Mutex

Для запуска теста производительности центрального процессора:

Обратите внимание как запускается программа: в начале идёт название теста, затем опции (в первом примере их нет), а затем команда.

Для программы установлено два придела выполнения:

  • 10000 операций с числами
  • 10 секунд выполнения

В зависимости от того, что наступит первым, программа завершит свою работу или после 10000 событий, либо после 10 секунд.

Современные процессоры очень производительные и если программа завершилась очень быстро, то данные могут быть искажены. Например, при оценки производительности процессора играет роль, к примеру, троттлинг (сброс частот). Троттлинг начинается из-за перегрева или превышения TDP. Эти эффекты наблюдаются только на длительных дистанциях работы процессора. Если, к примеру, тест завершился за секунду и вы получили n обработанных операций, это не означает, что процессор за 60 секунд выполнит 60 * n операций, поскольку он будет сбрасывать частоты из-за перегрева и выхода за пределы установленного в TDP рассеивания тепла.

Для более длительного выполнения теста используются опции —cpu-max-prime и —time. Первая устанавливает максимальное количество выполненных операций, а вторая — максимальное время проведения бенчмарка. При одновременном использовании опций приоритет имеет —time.

Современные центральные процессоры являются многоядерными и многопотоковыми:

По умолчанию sysbench запускает в один поток. Поэтому если вы хотите задействовать все ядра вашего процессора, используйте опцию —threads. У меня 6 физических и 12 логических ядер центрального процессора, поэтому я буду использовать значение 12, чтобы работали все процессоры.

При использовании опции —cpu-max-prime, чем меньше время завершения программы, тем производительныее центральный процессор:

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

CPU speed events per second означает количество выполненный в центральном процессоре операций за секунду — чем выше значение, тем производительнее система.

General statistics total time означает общее время выполнения операций.

General statistics total number of events означает общее количество выполненный событий.

Если система завершает работу слишком быстро, можно увеличить значение, например, до двухсот тысяч событий:

Ещё один способ проверки троттлинга и оценки производительности процессора под длительной нагрузкой, это установка времени выполнении, в примере ниже установлено время в 300 секунд.

У меня при использовании опций —time и —cpu-max-prime CPU speed events per second различается в десятки раз — видимо или какой-то баг в программе, либо программа считает по каким-то другим правилам.

Бенчмарк в phoronix-test-suite

Запустите – в первый раз нужно будет принять лицензионное соглашение, так программа спросит разрешение на отправку анонимной статистики:

Предыдущая команда выведит список доступных бенчмарков.

Доступные наборы в версии Phoronix Test Suite v8.0.1

Звёздочкой отмечены частично поддерживаемые наборы.

Для запуска оценки производительности центрального процессора выполните:

Обратите внимание, что pts/cpu и другие бенчмарки занимают несколько гигабайт дискового пространства. К примеру, pts/cpu загрузит около 3 Гб данных и будет использовать примерно 7 Гб дискового пространства (в домашней директории пользователя).

О том, как контролировать текущую частоту и температуру процессора в Linux смотрите здесь.

Источник

Чем нагрузить процессор ubuntu

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

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

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

1. Утилита htop

Самый простой способ узнать насколько процессор загружен в данный момент — воспользоваться утилитой htop. Она показывает не только процент загрузки по каждому ядру процессора отдельно, но и позволяет найти процессы, которые нагружают систему больше всего. Для установки htop в Debian или Ubuntu выполните:

sudo apt install htop

А в CentOS или REHL:

sudo yum install htop

Главное окно программы выглядит вот так:

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

Похожее:  Как улучшить работоспособность процессора

2. Файл /proc/loadavg

Если надо сориентироваться какая была нагрузка на процессор в последнее время, тут htop не поможет. Можно воспользоваться файлом /proc/loadavg. Его создаёт ядро и в нём содержится информация о средней нагрузке за одну, пять и пятнадцать минут. Но обратите внимание, данные, находящиеся в этом файле не такие однозначные. Во первых, это не проценты, во вторых, они отображают не нагрузку на процессор, а нагрузку на систему в целом.

Первые три значения в этом файле означают среднее количество процессов или потоков, которые выполняются, находятся в очереди на выполнение или ждут завершения операций ввода/вывода за 1, 5 и 15 минут. Вот:

Обычно, если значение больше единицы — значит нагрузка уже большая и надо разбираться почему. Если значение за минуту меньше значений за пять и пятнадцать минут — нагрузка падает, если больше — растёт. Таким образом можно немного сориентироваться насколько загружена ваша система. Эти значения можно использовать для общего ориентирования или отправки уведомлений на почту, а для разбора полётов уже применять другие метрики и программы.

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

3. Утилита mpstat

Утилита mpstat позволяет посмотреть подробную статистику по использованию процессора. Можно посмотреть не только информацию по каждому из ядер, но и куда используются ресурсы — на ввод/вывод, ядро или программы пространства пользователя. Для установки программы в Ubuntu или Debian выполните:

sudo apt install sysstat

В CentOS или REHL:

sudo yum install sysstat

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

А для просмотра подробностей по каждому ядру процессора используйте опцию -P с параметром ALL:

Вот значения колонок в выводе этой программы:

  • CPU — номер ядра процессора;
  • %usr — потребление программами пространства пользователя;
  • %nice — потребление ресурсов в процентах программами в пространстве пользователя с повышенным приоритетом;
  • %sys — потребление ресурсов процессора ядром;
  • %iowait — затраты на ожидание ввода/вывода;
  • %irq — ресурсы, потраченные на прерывания для работы с аппаратным обеспечением;
  • %soft — ресурсы, потраченные на программные прерывания;
  • %steal — украденные процессорные ресурсы, актуально для виртуальных машин;
  • %guest — ресурсы, потраченные на работу виртуального процессора;
  • %idle — неиспользованные ресурсы.

Как видите, в данном случае нагрузка на процессор не достигает даже трех процента для некоторых ядер.

4. Команда nmon

Утилита nmon позволяет выводить данные, в виде, похожем на htop, но только немного подробнее. Для установки её в Ubuntu и Debian выполните:

sudo apt install nmon

Для установки в CentOS или REHL:

sudo yum install nmon

После запуска надо нажать кнопку c для того чтобы отобразить информацию о нагрузке на ядра процессора:

Здесь кроме наглядной шкалы по каждому ядру выводится информация в процентах по таким показателям:

  • User% — ресурсы, потраченные программами в пространстве пользователя;
  • Sys% — ресурсы, потраченные ядром;
  • Wait% — ресурсы, которые идут на ожидание ввода/вывода;

Здесь уже можно сориентироваться насколько всё загружено и в чём проблема.

5. CoreFreq

Если всей полученной ранее информации о производительности вам мало, можно воспользоваться утилитой CoreFreq. Её нет в официальных репозиториях, поэтому придется собирать программу из исходников. Но зато она имеет свой модуль ядра, который устанавливает свои счетчики производительности в ядре и возвращает утилите наиболее подробные данные. Сначала установите необходимые компоненты. В Ubuntu:

sudo apt install dkms git libpthread-stubs0-dev

В CentOS или REHL:

sudo yum group install ‘Development Tools’

Затем скачайте репозиторий утилиты с GitHub и соберите её:

git clone https://github.com/cyring/CoreFreq.git

Загрузите модуль ядра такой командой:

sudo insmod corefreqk.ko

Запустите её сервис:

Затем запускайте программу:

Вверху программы отображается информация о процессоре, ниже шкалы с загруженностью каждого ядра, а её ниже различные показатели по каждому ядру: частота — Freq, ускорение — Turbo, C0-C7 — значения состояний C-State процессора. В данном примере, большинство ядер процессора работают на минимальной частоте и большую часть времени находятся в состоянии C1. Это состояние означает, что ядро не активно, но может в любой момент перейти к выполнению инструкций. Состояние C0 — означает, что ядро активно и выполняет какие-то действия.

С помощью этой утилиты вы сможете узнать максимально подробную информацию о загрузке процессора и о самом процессоре в целом.

Выводы

В этой небольшой статье мы рассмотрели как определяется загрузка процессора Linux с помощью различных утилит. Как системных, так и сторонних. А какие утилиты для таких целей используете вы? Напишите в комментариях!

Источник