Linux show cpu load

How can I determine the current CPU utilization from the shell? [closed]

How can I determine the current CPU utilization from the shell in Linux? For example, I get the load average like so:

Just FYI, the load average is not the CPU usage although it may indirectly show the CPU usage. It’s a number showing how many processes are out there running but waiting for resources, be it CPU or disk or something else.

can’t answer the question cause it’s closed but have a look at vmstat , as a bonus it works on BSDs as well.

7 Answers 7

Linux does not have any system variables that give the current CPU utilization. Instead, you have to read /proc/stat several times: each column in the cpu(n) lines gives the total CPU time, and you have to take subsequent readings of it to get percentages. See this document to find out what the various columns mean.

Because Space’s answer doesn’t work. It returns the average CPU usage since process start and not the current CPU usage. This answer is the correct one.

You can use top or ps commands to check the CPU usage.

using top : This will show you the cpu stats

using ps: This will show you the % cpu usage for each process.

ps -eo pcpu,pid,user,args | sort -r -k1 | less 

Also, you can write a small script in bash or perl to read /proc/stat and calculate the CPU usage.

We tried, and «top -b -n 1» gives very inaccurate results. «top»‘s first iteration is very approximative, can give 10 percent instead of 60.

top’s calculation of %CPU is different from ps’s calc of %CPU. see this answer unix.stackexchange.com/questions/58539/…

The command uptime gives you load averages for the past 1, 5, and 15 minutes.

Unfortunately I need it to exit right away so I can parse the output. I’m hoping there is a file in /proc that I can read.

This will be something like this:

cpu 55366 271 17283 75381807 22953 13468 94542 0 cpu0 3374 0 2187 9462432 1393 2 665 0 cpu1 2074 12 1314 9459589 841 2 43 0 cpu2 1664 0 1109 9447191 666 1 571 0 cpu3 864 0 716 9429250 387 2 118 0 cpu4 27667 110 5553 9358851 13900 2598 21784 0 cpu5 16625 146 2861 9388654 4556 4026 24979 0 cpu6 1790 0 1836 9436782 480 3307 19623 0 cpu7 1306 0 1702 9399053 726 3529 26756 0 intr 4421041070 559 10 0 4 5 0 0 0 26 0 0 0 111 0 129692 0 0 0 0 0 95 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 369 91027 1580921706 1277926101 570026630 991666971 0 277768 0 0 0 0 0 0 0 0 0 0 0 0 0 ctxt 8097121 btime 1251365089 processes 63692 procs_running 2 procs_blocked 0 

Источник

Читайте также:  Линукс путь домашняя директория

Загрузка ЦПУ в Linux — насколько варит ваш котелок

img

Понимать состояние ваших серверов с точки зрения их загрузки и производительности — крайне важная задача. В этой статье мы опишем несколько самых популярных методов для проверки и мониторинга загрузки ЦПУ на Linux хосте.

 загрузка ЦПУ в Linux

Методы проверки

Проверяем загрузку процессора с помощью команды top

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

Команда состоит всего из трех букв: top

У вас откроется окно в терминале, которое будет отображать запущенные сервисы в реальном времени, долю системных ресурсов, которую эти сервисы потребляют, общую сводку по загрузке CPU и т.д

Вывод команды top

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

Три числа показывают среднюю загрузку: за 1, 5 и 15 минут соответственно. Считайте, что эти числа — это процентная загрузка, т.е 0.2 означает 20%, а 1.00 — стопроцентную загрузку. Это звучит и выглядит достаточно логично, но иногда там могут проскакивать странные значения — вроде 2.50. Это происходит из-за того, что этот показатель не прямое значение загрузки процессора, а нечто вроде общего количества «работы», которое ваша система пытается выполнить. К примеру, значение 2.50 означает, что текущая загрузка равна 250% и ваша система на 150% перегружена.

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

Третья строчка позволит вам отследить загрузку ЦПУ с подробной статистикой. Но здесь нужно сделать некоторые комментарии:

  • us: процент времени, когда ЦПУ был загружен и которое было затрачено на user space (созданные/запущенные пользователем процессы)
  • sy: процент времени, когда ЦПУ был загружен и которое было затрачено на на kernel (системные процессы)
  • ni: процент времени, когда ЦПУ был загружен и которое было затрачено на приоритезированные пользовательские процессы (системные процессы)
  • id: процент времени, когда ЦПУ не был загружен
  • wa: процент времени, когда ЦПУ ожидал отклика от устройств ввода — вывода (к примеру, ожидание завершения записи информации на диск)
  • hi: процент времени, когда ЦПУ получал аппаратные прерывания (например, от сетевого адаптера)
  • si: процент времени, когда ЦПУ получал программные прерывания (например, от какого-то приложения адаптера)
  • st: сколько процентов было «украдено» виртуальной машиной — в случае, если гипервизору понадобилось увеличить собственные ресурсы
Читайте также:  Rocket chat linux client

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

Также вы можете нажимать на кнопку t, чтобы прокручивать между различными вариантами вывода информации и использовать кнопку q для выхода из top

Немного более модный способ: htop

Существует более удобная утилита под названием htop, которая предоставляет достаточно удобный интерфейс с красивым форматированием. Установка утилиты экстремально проста:

Для Ubuntu и Debian:

Для CentOS и Red Hat:

После установки просто введите команду ниже:

Вывод команды htop

Как видно на скриншоте, htop гораздо лучше подходит для простой проверки степени загрузки процессора. Выход также осуществляется кнопкой q

Прочие способы проверки степени загрузки ЦПУ

Есть еще несколько полезных утилит, и одна из них (а точнее целый набор) называется sysstat.

Установка для Ubuntu и Debian:

sudo apt-get install sysstat

Установка для CentOS и Red Hat:

Как только вы установите systat, вы сможете выполнить команду mpstat — опять же, практически тот же вывод, что и у top, но в гораздо лаконичнее.

Вывод команды mpstat

Следующая утилита в этом пакете это sar. Она наиболее полезна, если вы ее вводите вместе с каким-нибудь числом, например 6. Это определяет временной интервал, через который команда sar будет выводить информацию о загрузке ЦПУ.

Вывод команды sar

К примеру, проверяем загрузку ЦПУ каждые 6 секунд:

Если же вы хотите остановить вывод после нескольких итераций, например 10, добавьте еще одно число:

Так вы также увидите средние значения за 10 выводов.

Как настроить оповещения о слишком высокой нагрузке на процессор

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

#!/bin/bash CPU=$(sar 1 5 | grep "Average" | sed 's/^.* //') CPU=$( printf "%.0f" $CPU ) if [ "$CPU" -lt 20 ] then echo "CPU usage is high!" | sendmail admin@example.com fi

Скрипт будет использовать обработчик sed и среднюю загрузку от команды sar. Как только нагрузка на сервер будет превышать 85%, администратор будет получать письмо на электронную почту. Соответственно, значения в скрипте можно изменить под ваши требования — к примеру поменять тайминги, выводить алерт в консоль, отправлять оповещения в лог и т.д.

Читайте также:  Linux interface default route

Естественно, для выполнения этого скрипта нужно будет запустить его по крону:

Для ежеминутного запуска введите:

Заключение

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

Источник

How/Where do I check my ubuntu laptops’s CPU usage?

Additionally, try out this page for more information. This is very comprehensive and surely answers a lot of queries, although I personally feel using system monitor is the best solution.

3 Answers 3

HTOP

is a lightweight text-mode process viewer packed with handy features such as killing processes without entering their PID, displaying full command lines, etc with a colour display

How to install

open your Terminal ( Ctrl — Alt — T ) and Type

To run: type htop This will show what you are asking. .

enter image description here

Why is this the accepted answer when an earlier answer provided a faster builtin solution? This answers questions that weren’t even asked.

@deanresin I completely agree with you. But if you know how to use htop then you will know how to monitor each CPU core performance. Thank you.

In your dash i.e. pressing super key search for system monitor application.

enter image description here

If you are comfortable with command line there are tools like top and htop where cpu usage can be viewed as well.

gnome-system-monitor is not installed by default on Ubuntu 18.04 anymore for some reason, you need sudo apt install gnome-system-monitor first: releases.ubuntu.com/18.04/ubuntu-18.04.3-desktop-amd64.manifest

As said in previous answer you can use system monitor which is the best tool. If you want more information you can try some commands on terminal

top — its a command to see all the processes and their CPU usage. Just read the screen carefully and you would find lot of other useful information there. you can press Ctrl + c to close it.

Or you can also try cat /proc/cpuinfo — for other information about cpu

Источник

Оцените статью
Adblock
detector