- увидеть загрузку процессора из консоли?
- Re: увидеть загрузку процессора из консоли?
- Re: увидеть загрузку процессора из консоли?
- Re: увидеть загрузку процессора из консоли?
- Re: увидеть загрузку процессора из консоли?
- Re: увидеть загрузку процессора из консоли?
- Re: увидеть загрузку процессора из консоли?
- Re: увидеть загрузку процессора из консоли?
- Re: увидеть загрузку процессора из консоли?
- Re: увидеть загрузку процессора из консоли?
- Re: увидеть загрузку процессора из консоли?
- Как просмотреть нагрузку на процессор в Linux
- Команда ps
- Команда top
- Как узнать загрузку процессора и памяти в Linux — команда vmstat
- Как нужно оценивать производительность?
- Синтаксис команды vmstat
- Опции vmstat
- Примеры использования vmstat
- Заключение
- Загрузка процессора Linux
- Как посмотреть загрузку процессора в Linux
- 1. Утилита htop
- 2. Файл /proc/loadavg
- 3. Утилита mpstat
- 4. Команда nmon
- 5. CoreFreq
- Выводы
увидеть загрузку процессора из консоли?
А есть ли прога, показывающая текущую загрузку процессора (в процентах) в консоли? Их иксов таких навалов, а вот если доступна только консоль, как увидеть загрузку?
Re: увидеть загрузку процессора из консоли?
Re: увидеть загрузку процессора из консоли?
еще uptime поможет — тоже man почитай
Re: увидеть загрузку процессора из консоли?
uptime показывает какую то странную загрузку — число может быть как больше 1, так и меньше.
top — мгновенную (которая существенно может измениться через полсекунды).
А есть то, что среднюю загрузку показывает?
Re: увидеть загрузку процессора из консоли?
uptime показывает загрузку на момент обращения, среднюю за 5 и среднюю за 15 минут — это, соответственно и есть три выводимые им цифры — load average: 0.01, 0.13, 0.12. Типа все наглядно.
Re: увидеть загрузку процессора из консоли?
только топ умеет проценты мгновенные показывать, а в лоад аверидж среднее то среднее но совсем другое — как уже сказано оно может быть больше 1. Ну то есть по моему программы которая усредняет эту мгновенную загрузку которую выдает топ пока не написали.
Re: увидеть загрузку процессора из консоли?
ну то есть если Н процессов использующие полностью все свои кванты, то лоад авг будет около Н, а загрузка цпу вне зависимости от Н 100%=1.
Re: увидеть загрузку процессора из консоли?
cat /proc/loadavg 0.53 0.40 0.40 1/101 1710
а что означают последние два столбика цифр?
По поводу загрузки вообще — а как же в иксах тогда считают эту загрузку? Там чуть ли не в реальном времени ее рисуют в окошке.
Re: увидеть загрузку процессора из консоли?
Re: увидеть загрузку процессора из консоли?
> а что означают последние два столбика цифр?
1/101 — всего 101 процесс, из них 1 не спит.
1710 — у меня такое ощущение что это порядковый номер открытия этого файла /proc/loadavg — зачем это не представляю..
Re: увидеть загрузку процессора из консоли?
А вот интересно, возможно ли расчитать загрузку процессора в процентах? Или это нереально в силу того, что многозадачность тут по другому реализована (чем в виндовсах)? В них же в таскменеджере видно график загрузки, хотелось бы нечто подобное строить.
tload конечно вещь интересная, но мне нужны цифры, график я сам построю.
Источник
Как просмотреть нагрузку на процессор в Linux
В Linux потребление ресурсов CPU, с сортировкой по наибольшей загрузке, можно посмотреть при помощи двух команд: ps и top.
Важный нюанс: Значение в столбце «CPU» в обоих командах считается от загрузки одного ядра процессора. Таким образом сумма процентов на многоядерных машинах будет больше 100%. К примеру для четырехядерного процессора суммарный процент потребления всех процессов не может превышать 400%.
Рассмотрим каждую из команд подробней.
Команда ps
Для запуска введите в консоли ОС команду:
Пример вывода команды:
Важными столбцами являются:
- USER Пользователь, от имени которого работает процесс
- PID Идентификатор процесса
- %CPU Процент загрузки ядра
Согласно данному выводу можно понять, что экземпляр программы dd с PID=31712 практически полностью использует одно ядро процессора.
Команда top
Также загрузку процессора можно посмотреть в интерактивном режиме при помощи команды top. Для запуска введите в консоли ОС команду:
Пример вывода команды:
Важными столбцами являются:
- USER Пользователь, от имени которого работает процесс
- PID Идентификатор процесса
- %CPU Процент загрузки ядра
Согласно данному выводу видно, что два процесса браузера Chromium используют по 40% возможностей одного из ядер процессора.
Источник
Как узнать загрузку процессора и памяти в 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
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 с помощью различных утилит. Как системных, так и сторонних. А какие утилиты для таких целей используете вы? Напишите в комментариях!
Источник