Cpu usage что это в компьютере

Содержание

Что такое CPU Usage и за что отвечает этот показатель?

Всем здравствуйте! Сегодня разберем термин CPU usage — что это такое в компьютере, где используется и на что влияет. Также рассмотрим — за что отвечает и что делать если параметр достигает 100%.

CPU, как вы, вероятно знаете, не что иное, как центральный процессор компьютера или ноутбука. Usage с английского переводится как «Использование».

Соответственно, CPU usage — это использование процессора системными службами и прикладными программами.

В русифицированной Aida64 любой редакции, например Extreme Edition, а также некоторых других коммерческих утилитах для мониторинга работы компьютера параметр отображается как «Использование ЦП».

В Speccy или PC Wizard такого параметра попросту нет.

Однако и в Windows 10, и в более ранних версиях это операционной системы в Диспетчере задач есть отдельная графа, которая показывает, как именно каждая программа или служба нагружает CPU.

Для запуска этой утилиту нужно нажать комбинацию клавиш Ctrl + Shift + Esc.

Замечено, что если какой-то процесс отнимает более 70% мощности ЦП, это отражается на работе компьютера: он начинает «задумываться», зависать, медленнее выполнять поставленные задачи. Исключение — процесс, который называется «Бездействие системы».

Это «холостой» цикл, который просчитывает процессор, если не запущено ни одно приложение. Как правило, и бездействие системы редко достигает 100%, так как в Windows почти всегда работают сервисные службы, отнимающие небольшой процент мощности ЦП.

Самый простой способ завершить «прожорливый» процесс — выделить его в Диспетчере задач, нажать ПКМ и выбрать опцию «Снять задачу».

Иногда это не срабатывает, если приложение перестало отвечать на запросы операционной системы. В этом случае можно воспользоваться сервисной утилитой, которая умеет «убивать» зависшие процессы — например Auslogics Boost Speed или аналогичной.

Если вы установили новую игру или приложение и заметили, что процесс забирает более 70% производительности ЦП, это свидетельствует о недостаточной вычислительной мощности и необходимости апгрейда компьютера.

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

Поможет только полная диагностика компьютера хорошим антивирусом. Защитник Виндовс, который в «Десятке» используется по умолчанию, с подобной задачей не всегда справляется.

Также советую почитать «Что такое СPU TM Function и как эта функция работает?». Буду признателен всем, кто расшарит этот пост в социальных сетях. До скорой встречи!

Источник

Как выполнить стресс-тест процессора и системы в целом, держит ли он частоты, нет ли перегрева (AIDA 64)

Доброго времени суток!

Сделать это можно с помощью стресс-теста, который позволяет:

В этой статье предложу один из способов, к которому часто прибегаю сам. Он, конечно, не идеальный, но весьма удобный. Возможно, кому-то окажет добрую помощь.

У AIDA есть и аналоги (на случай, если данная утилита откажется запускаться в вашей ОС). О них я рассказывал в статье о 4 лучших программах для стресс-тестирования ЦП

Как выполнить стресс-тест

ШАГ 1: выбор программы

Для тестирования и диагностики системы сейчас достаточно много программ: OCCT, AIDA 64, ASTRA, Prime95, LinX, и др. Я все же сторонник использования AIDA 64 (собственно, ее и рекомендую вам).

AIDA 64

В чем ее основные преимущества:

Свои дальнейшие действия покажу в AIDA 64 Extreme v5.8.

ШАГ 2: запуск теста

Для открытия окна тестирования в AIDA 64 нажмите по меню » Сервис/Тест стабильности системы» (см. скрин ниже).

Тест стабильности системы

Далее обратите внимание на левый верхний угол (расшифрую несколько аббревиатур) :

По умолчанию, обычно, выбрано первых 4-пункта (в принципе, этого достаточно для тестирования системы и ЦП). Чтобы начать проверку – нажмите на кнопку «Start» в нижней части окна.

Важно! Нагрузка на ЦП должна сразу же дойти до 100%, температура начнет расти и гул от кулера будет становится все громче (по крайней первую минуту теста). Внимательно следите за состоянием и поведением ПК.

Начало теста / Кликабельно

В первую очередь следите за температурой ЦП (чаще всего именно она выходит за пределы оптимальных значений и процессор начинает сбрасывать частоты). Дать конкретную величину нельзя: т.к. у каждого модельного ряда она будет своей.

Скажем, для Intel Core i3÷i7 (7-8-х поколений) считается критической температурой

ШАГ 3: контроль и результаты. На что обратить внимание

Частоты работы процессора (Core i5-7200U)

Довольно удобно мониторить питание, температуру, и частоты во вкладке «Statistics» (см. скрин ниже). AIDA 64 отображает сразу несколько значений: текущее (Current), минимальное (Min.), максимальное (Max.), и среднее (Average).

Статистика (AIDA 64)

Кстати, после остановки стресс-теста – текущая частота ЦП (CPU Clock) и его загрузка (CPU Usage) на графике должны снизится (см. скрин ниже).

Также обратите внимание на график загрузки (на надпись CPU Throttling) – в идеале она должна быть «зеленой», как у меня в примере.

После завершения теста (обратите внимание на графики нагрузки и частоты работы ЦП)

Источник

Вы неверно измеряете загрузку процессора

Та метрика, которую мы называем «загрузкой процессора» на самом деле многими людьми понимается не совсем верно. Что же такое «загрузка процессора»? Это то, насколько занят наш процессор? Нет, это не так. Да-да, я говорю о той самой классической загрузке CPU, которую показывают все утилиты анализа производительности — от диспетчера задач Windows до команды top в Linux.

Вот что может означать «процессор загружен сейчас на 90%»? Возможно, вы думаете, что это выглядит как-то так:

А на самом деле это выглядит вот так:

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

Что это означает для вас? Понимание того, какое количество времени процессор действительно выполняет некоторые операции, а какое — лишь ожидает данные, иногда даёт возможность изменить ваш код, уменьшив обмен данных с оперативной памятью. Это особенно актуально в нынешних реалиях облачных платформ, где политики автоматического масштабирования иногда напрямую завязаны на загрузку CPU, а значит каждый лишний такт «холостой» работы стоит нам вполне реальных денег.

Что же такое загрузка процессора на самом деле?

Та метрика, которую мы называем «загрузкой процессора» на самом деле означает нечто вроде «время не-простоя»: то есть это то количество времени, которое процессор провёл во всех потоках кроме специального «Idle»-потока. Ядро вашей операционной системы (какой бы она ни была) измеряет это количество времени при переключениях контекста между потоками исполнения. Если произошло переключение потока выполнения команд на не-idle поток, который проработал 100 милисекунд, то ядро операционки считает это время, как время, потраченное CPU на выполнение реальной работы в данном потоке.

Эта метрика впервые появилась в таком виде одновременно с появлением операционных систем с разделением времени. Руководство программиста для компьютера в лунном модуле корабля «Апполон» (передовая на тот момент система с разделением времени) называла свой idle-поток специальным именем «DUMMY JOB» и инженеры сравнивали количество команд, выполняемых этим потоком с количеством команд, выполняемых рабочими потоками — это давало им понимание загрузки процессора.

Так что в этом подходе плохого?

Сегодня процессоры стали значительно быстрее, чем оперативная память, а ожидание данных стало занимать львиную долю того времени, которое мы привыкли называть «временем работы CPU». Когда вы видите высокий процент использования CPU в выводе команды top, то можете решить, что узким местом является процессор (железка на материнской плате под радиатором и кулером), хотя на самом деле это будет совсем другое устройство — банки оперативной памяти.

Ситуация даже ухудшается со временем. Долгое время производителям процессоров удавалось наращивать скорость их ядер быстрее, чем производители памяти увеличивали скорость доступа к ней и уменьшали задержки. Где-то в 2005-ом году на рынке появились процессоры с частотой 3 Гц и производители сконцентрировались на увеличении количества ядер, гипертрейдинге, много-сокетных конфигурациях — и всё это поставило ещё большие требования по скорости обмена данных! Производители процессоров попробовали как-то решить проблему увеличением размера процессорных кэшей, более быстрыми шинами и т.д. Это, конечно, немного помогло, но не переломило ситуацию кардинально. Мы уже ждём память большую часть времени «загрузки процессора» и ситуация лишь ухудшается.

Как же понять, чем на самом деле занят процессор

Используя аппаратные счетчики производительности. В Linux они могут быть прочитаны с помощью perf и других аналогичных инструментов. Вот, например, замер производительности всей системы в течении 10 секунд:

Ключевая метрика здесь это «количество инструкций за такт» (insns per cycle: IPC), которое показывает, сколько инструкций в среднем выполнил процессор на каждый свой такт. Упрощённо: чем больше это число, тем лучше. В примере выше это число равно 0.78, что, на первый взгляд кажется не таким уж плохим результатом (78% времени выполнялась полезная работа?). Но нет, на этом процессоре максимально возможным значением IPC могло бы быть 4.0 (это связано со способом получения и выполнения инструкций современными процессорами). То есть наше значение IPC (равное 0.78) составляет всего 19.5% от максимально возможной скорости выполнения инструкций. А в процессорах Intel начиная со Skylake максимальное значение IPC уже равно 5.0.

В облаках

Когда вы работаете в виртуальном окружении, то можете и не иметь доступа к реальным счетчикам производительности (это зависит от используемого гипервизора и его настроек). Вот статья о том, как это работает в Amazon EC2.

Интерпретация данных и реагирование

Если у вас IPC 1.0, то ваше приложение страдает не столько от ожидания данных, сколько от чрезмерного количества выполняемых инструкций. Ищите более эффективные алгоритмы, не делайте ненужной работы, кэшируйте результаты повторяемых операций. Применение инструментов построения и анализа Flame Graphs может быть отличным способом разобраться в ситуации. С аппаратной точки зрения вы можете использовать более быстрые процессоры и увеличить количество ядер.

Как вы видите, я провёл черту по значению IPC равному 1.0. Откуда я взял это число? Я рассчитал его для своей платформы, а вы, если не доверяете моей оценке, можете рассчитать его для своей. Для этого напишите два приложения: одно должно загружать процессор на 100% потоком выполнения инструкций (без активного обращения к большим блокам оперативной памяти), а второе должно наоборот активно манипулировать данным в ОЗУ, избегая тяжелых вычислений. Замерьте IPC для каждого из них и возьмите среднее. Это и будет примерная переломная точка для вашей архитектуры.

Что инструменты мониторинга производительности на самом деле должны показывать

Я считаю, что каждый инструмент мониторинга производительности должен показывать значение IPC рядом с загрузкой процессора. Это сделано, например, в инструменте tiptop под Linux:

Другие причины неверной трактовки термина «загрузка процессора»

Процессор может выполнять свою работу медленнее не только из-за потерь времени на ожидание данных из ОЗУ. Другими факторами могут быть:

Источник

cpu usage что это такое

Мониторинг производительности системы

Мониторит загрузку процессора в течение одной секунды, после чего кладет результат измерений (в процентах) на стек.

Пример:

Чтобы задать собственный интервал времени измерения загрузки процессора воспользуйтесь словом (CPU-USAGE) и укажите необходимый интервал в миллисекундах в качестве аргумента.

Пример:

Также вы можете изменить значение VALUE-переменной CpuMeasurementTime (значение по умолчанию — 1000 мс).

Пример:

Эти слова работают только в WinNT/2000/XP.

Возвращает флаг TRUE (-1), если время бездействия компьютера больше или равно указанного числа секунд. Компьютер считается бездействующим, когда пользователь не проявляет активности: не двигает/кликает мышкой и не нажимет клавиши на клавиатуре. Активность пользователя можно «эмулировать»: см раздел «Эмуляция ввода с клавиатуры» и «Эмуляция движений мыши».

Чтобы получить доступ к счетчику idle time (времени простоя компьютера), воспользуйтесь словом GetIdleTime, которое кладет на стек время бездействия компьютера в миллисекундах.
Следует упомянуть, что счетчик инкрементируется только если в каком-то из заданий уже используется слово IDLE: или отсчет idle time инициирован принудительно:

Операционная система накладывает некоторые ограничения на работу слова IDLE:. Пpи активном консольном окне (Command Prompt, FAR и т. д.) Windows «не замечает» действий юзеpа и счетчик idle time пpодолжает инкpементиpоваться, невзиpая на его (юзеpа) активность.
В Win9* пpи активном консольном окне игноpиpуется только ввод с клавиатуpы, а действия юзеpа с мышью обpабатываются коppектно. В Win2000 игноpиpуется и то и дpугое.

Мониторит загрузку процессора указанным процессом в течение одной секунды, после чего кладет результат измерений (в процентах) на стек. В качестве имени процесса используйте имя исполняемого файла. В случае отсутствия указанного процесса, слова PROC-CPU-USAGE/(PROC-CPU-USAGE) возвратят 0.

Пример:

Чтобы задать собственный интервал времени измерения загрузки процессора воспользуйтесь словом (PROC-CPU-USAGE) и укажите необходимый интервал в миллисекундах в качестве аргумента.

Пример:

Также вы можете изменить значение VALUE-переменной CpuMeasurementTime (значение по умолчанию — 1000 мс).

Пример:

Эти слова работают только в WinNT/2000/XP.

Срабатывает, если загрузка процессора в течение указанного времени (в секундах) превышает заданную загрузку процессора (в процентах).

Простой компьютерный блог для души)

Приветствую друзья. Тема сегодня о процессорах, а вернее о том что означает словосочетание CPU Usage. Значит смотрите, CPU это процессор, эта аббревиатура расшифровывается как central processing unit, ну типа центральный процессор юнит, последнее слово не знаю что значит. Слово Usage означает использовать. То есть можно сделать вывод, что CPU Usage означает использование процессора.

Словосочетание CPU Usage вы можете встретить где угодно, начиная от самой винды и заканчивая всякими программами. И почти всегда это словосочетание необходимо чтобы проинформировать пользователя об уровне загрузки процессора =)

Часто пользователей интересует почему CPU Usage 100, что это имеется ввиду? Нагрузка процессора равна 100%. То есть какая-то программа грузит адски процессор. Я дам несколько советов что можно в таком случае предпринять. Узнавать какая именно программа, а вернее какой процесс грузит проц, нужно в диспетчере задач. Для примера я создам искусственную нагрузку при помощи архиватора WinRAR, я просто в нем запущу тест производительности. Первое что нужно сделать, узнать точно процесс, который грузит, для этого жмем на ЦП в диспетчере (вкладка процессы):

После этого нам сразу станет ясно, какой засранец грузит ПК. По крайней мере увидим имя процесса. Если это имя нам ни о чем не говорит, тогда смотрим в колонку описание. В моем случае сразу понятно кто этот засранец:

Это WinRAR archiver. Если нажать правой кнопкой по процессу и выбрать пункт Открыть место хранения файла:

То будет открыта папка, откуда запускается процесс, обычно это и есть папка программы.

Как успокоить процесс, который грузит нереально проц?

Вы можете возразить, мол зачем успокаивать, если можно просто нажать правой кнопкой по процессу и выбрать пункт Завершить. Логично, но не всегда корректно. Если принудительно завершить процесс, то это может повлечь за собой ошибку или прерывание важной задачи. Например процесс TrustedInstaller.exe у многих вызывает большую нагрузку, но не все знают, за что отвечает процесс. TrustedInstaller.exe выполняет установку модулей Windows, на деле это имеется ввиду установка обновлений. Разумеется что при завершение данного процесса прерывается установка обновлений. Как следствие будут ошибки в журнале, которые не факт что будут исправлены центром обновления. Я отвлекся, прошу прощения.

Итак, всего есть два варианта, при которых вы не завершаете грузящий процесс, но снижаете его нагрузку на проц. Первый, это приоритет. Вы можете задать низкий приоритет грузящему процессу, чтобы все остальные процессы получили на фоне его приоритет выше. Для этого нажмите правой кнопкой по процессу и выберите в меню Приоритет > Низкий:

Данная процедура эффективная и в большинстве случаев приносит желаемый эффект.

Второй вариант более агрессивный, поэтому его стоит использовать в крайних случаях. И еще данный вариант не подходит, если у вас одноядерный процессор, однако это редкость. Способ заключается в том, что процесс будет использовать не два ядра процессора, ну или больше, а одно. Если у вас 4 ядра, то можете отдать процессу 2 ядра, или 1, тут уже сами смотрите по ситуации. Чтобы это дело провернуть, нажимаете правой кнопкой по процессу и выбираете пункт Задать соответствие:

У меня в процессоре 2 ядра, поэтому я оставляю процессу 1 ядро:

Если галочка стоит, то ядро будет использоваться. Я поставил галочку на ЦП 0, но можно было и на ЦП 1, разницы нет. Если при этом еще и выставить низкий приоритет, то процесс точно перестанет грузить комп. Однако стоит учесть, что данная процедура увеличит время выполнения задачи процессом. То есть выполнять будет дольше, но зато нагрузка на проц будет максимально снижена =)

Надеюсь предоставленная информация была полезной. Удачи и до новых встреч ребята!

Mar 3, 2016 21:43 · 363 words · 2 minute read prometheus monitoring

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

Считаем, что необходимые компоненты у нас уже установлены и настроены.

В таком случае, на странице метрик, которые собирает компонент node_exporter (например, http://[IP-адрес сервера]:9100/metrics), можем найти примерно следующее:

Данные для этих метрик берутся из файла /proc/stat и отображают время (в USER_HZ — сотых долях секунды), которое CPU расходует на выполнение задач. Эти задачи бывают нескольких типов:

Общее время выполнения этих задач и есть CPU usage (вместе с временем бездействия). Высокое значения времени iowait может означать, что в вашей системе узким местом является дисковая подсистема или сеть.

Чтобы оценить, чем занимается процессор, открываем в браузере веб-интерфейс Prometheus (http://[IP-адрес сервера]:9090) и в поле Expression вводим например такую метрику: irate(node_cpu [5m])

Чтобы получить общее значение CPU usage (сумма времен выполнения задач по всем процессорам/ядрам) для отдельного хоста можно использовать следующую метрику: sum by (mode, instance) (irate(node_cpu [5m]))

Источник

cpu usage что это такое

Мониторинг производительности системы

Мониторит загрузку процессора в течение одной секунды, после чего кладет результат измерений (в процентах) на стек.

Пример:

Чтобы задать собственный интервал времени измерения загрузки процессора воспользуйтесь словом (CPU-USAGE) и укажите необходимый интервал в миллисекундах в качестве аргумента.

Пример:

Также вы можете изменить значение VALUE-переменной CpuMeasurementTime (значение по умолчанию — 1000 мс).

Пример:

Эти слова работают только в WinNT/2000/XP.

Возвращает флаг TRUE (-1), если время бездействия компьютера больше или равно указанного числа секунд. Компьютер считается бездействующим, когда пользователь не проявляет активности: не двигает/кликает мышкой и не нажимет клавиши на клавиатуре. Активность пользователя можно «эмулировать»: см раздел «Эмуляция ввода с клавиатуры» и «Эмуляция движений мыши».

Чтобы получить доступ к счетчику idle time (времени простоя компьютера), воспользуйтесь словом GetIdleTime, которое кладет на стек время бездействия компьютера в миллисекундах.
Следует упомянуть, что счетчик инкрементируется только если в каком-то из заданий уже используется слово IDLE: или отсчет idle time инициирован принудительно:

Операционная система накладывает некоторые ограничения на работу слова IDLE:. Пpи активном консольном окне (Command Prompt, FAR и т. д.) Windows «не замечает» действий юзеpа и счетчик idle time пpодолжает инкpементиpоваться, невзиpая на его (юзеpа) активность.
В Win9* пpи активном консольном окне игноpиpуется только ввод с клавиатуpы, а действия юзеpа с мышью обpабатываются коppектно. В Win2000 игноpиpуется и то и дpугое.

Мониторит загрузку процессора указанным процессом в течение одной секунды, после чего кладет результат измерений (в процентах) на стек. В качестве имени процесса используйте имя исполняемого файла. В случае отсутствия указанного процесса, слова PROC-CPU-USAGE/(PROC-CPU-USAGE) возвратят 0.

Пример:

Чтобы задать собственный интервал времени измерения загрузки процессора воспользуйтесь словом (PROC-CPU-USAGE) и укажите необходимый интервал в миллисекундах в качестве аргумента.

Пример:

Также вы можете изменить значение VALUE-переменной CpuMeasurementTime (значение по умолчанию — 1000 мс).

Пример:

Эти слова работают только в WinNT/2000/XP.

Срабатывает, если загрузка процессора в течение указанного времени (в секундах) превышает заданную загрузку процессора (в процентах).

Простой компьютерный блог для души)

Приветствую друзья. Тема сегодня о процессорах, а вернее о том что означает словосочетание CPU Usage. Значит смотрите, CPU это процессор, эта аббревиатура расшифровывается как central processing unit, ну типа центральный процессор юнит, последнее слово не знаю что значит. Слово Usage означает использовать. То есть можно сделать вывод, что CPU Usage означает использование процессора.

Словосочетание CPU Usage вы можете встретить где угодно, начиная от самой винды и заканчивая всякими программами. И почти всегда это словосочетание необходимо чтобы проинформировать пользователя об уровне загрузки процессора =)

Часто пользователей интересует почему CPU Usage 100, что это имеется ввиду? Нагрузка процессора равна 100%. То есть какая-то программа грузит адски процессор. Я дам несколько советов что можно в таком случае предпринять. Узнавать какая именно программа, а вернее какой процесс грузит проц, нужно в диспетчере задач. Для примера я создам искусственную нагрузку при помощи архиватора WinRAR, я просто в нем запущу тест производительности. Первое что нужно сделать, узнать точно процесс, который грузит, для этого жмем на ЦП в диспетчере (вкладка процессы):

После этого нам сразу станет ясно, какой засранец грузит ПК. По крайней мере увидим имя процесса. Если это имя нам ни о чем не говорит, тогда смотрим в колонку описание. В моем случае сразу понятно кто этот засранец:

Это WinRAR archiver. Если нажать правой кнопкой по процессу и выбрать пункт Открыть место хранения файла:

То будет открыта папка, откуда запускается процесс, обычно это и есть папка программы.

Как успокоить процесс, который грузит нереально проц?

Вы можете возразить, мол зачем успокаивать, если можно просто нажать правой кнопкой по процессу и выбрать пункт Завершить. Логично, но не всегда корректно. Если принудительно завершить процесс, то это может повлечь за собой ошибку или прерывание важной задачи. Например процесс TrustedInstaller.exe у многих вызывает большую нагрузку, но не все знают, за что отвечает процесс. TrustedInstaller.exe выполняет установку модулей Windows, на деле это имеется ввиду установка обновлений. Разумеется что при завершение данного процесса прерывается установка обновлений. Как следствие будут ошибки в журнале, которые не факт что будут исправлены центром обновления. Я отвлекся, прошу прощения.

Итак, всего есть два варианта, при которых вы не завершаете грузящий процесс, но снижаете его нагрузку на проц. Первый, это приоритет. Вы можете задать низкий приоритет грузящему процессу, чтобы все остальные процессы получили на фоне его приоритет выше. Для этого нажмите правой кнопкой по процессу и выберите в меню Приоритет > Низкий:

Данная процедура эффективная и в большинстве случаев приносит желаемый эффект.

Второй вариант более агрессивный, поэтому его стоит использовать в крайних случаях. И еще данный вариант не подходит, если у вас одноядерный процессор, однако это редкость. Способ заключается в том, что процесс будет использовать не два ядра процессора, ну или больше, а одно. Если у вас 4 ядра, то можете отдать процессу 2 ядра, или 1, тут уже сами смотрите по ситуации. Чтобы это дело провернуть, нажимаете правой кнопкой по процессу и выбираете пункт Задать соответствие:

У меня в процессоре 2 ядра, поэтому я оставляю процессу 1 ядро:

Если галочка стоит, то ядро будет использоваться. Я поставил галочку на ЦП 0, но можно было и на ЦП 1, разницы нет. Если при этом еще и выставить низкий приоритет, то процесс точно перестанет грузить комп. Однако стоит учесть, что данная процедура увеличит время выполнения задачи процессом. То есть выполнять будет дольше, но зато нагрузка на проц будет максимально снижена =)

Надеюсь предоставленная информация была полезной. Удачи и до новых встреч ребята!

Mar 3, 2016 21:43 · 363 words · 2 minute read prometheus monitoring

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

Считаем, что необходимые компоненты у нас уже установлены и настроены.

В таком случае, на странице метрик, которые собирает компонент node_exporter (например, http://[IP-адрес сервера]:9100/metrics), можем найти примерно следующее:

Данные для этих метрик берутся из файла /proc/stat и отображают время (в USER_HZ — сотых долях секунды), которое CPU расходует на выполнение задач. Эти задачи бывают нескольких типов:

Общее время выполнения этих задач и есть CPU usage (вместе с временем бездействия). Высокое значения времени iowait может означать, что в вашей системе узким местом является дисковая подсистема или сеть.

Чтобы оценить, чем занимается процессор, открываем в браузере веб-интерфейс Prometheus (http://[IP-адрес сервера]:9090) и в поле Expression вводим например такую метрику: irate(node_cpu [5m])

Чтобы получить общее значение CPU usage (сумма времен выполнения задач по всем процессорам/ядрам) для отдельного хоста можно использовать следующую метрику: sum by (mode, instance) (irate(node_cpu [5m]))

Источник

Поделиться с друзьями
Компьютеры и приложения