Как я могу проверить использование процессора Linux из Bash? - PullRequest
0 голосов
/ 18 июня 2019

Мои извинения, если это двойной / тройной пост. Я нашел несколько ответов, и все они дают немного разные результаты. Я очень не уверен, какой из них будет «правильным» для подражания или если кто-то из них на самом деле не дает мне правильную ценность.

У меня есть компьютер с Linux, на котором я не могу установить другие приложения, и я пытаюсь запустить скрипт bash, который будет показывать общее использование процессора через регулярные промежутки времени. Ниже приведен пример, который я нашел в сети и который, кажется, дает мне то, к чему я стремлюсь, но я не уверен на 100%, что это приведет к получению правильной информации об использовании ЦП, поскольку он извлекает данные из ТОПа, что, как я полагаю, не получит истинное значение из-за того, что оно получит среднее значение с момента загрузки машины UNIX?

Заранее спасибо

echo print `top -n 1 | tr -s " " | cut -d$" " -f10 | tail -n +8 | head -n -1 | paste -sd+ | bc`/ `nproc` | python

1 Ответ

0 голосов
/ 18 июня 2019

Гораздо эффективнее напрямую читать /proc/loadavg, собирая данные непосредственно из ядра.

IFS=$' \t/' read -r load_1min load_5min load_15min load_inst_cur load_inst_tot _ </proc/loadavg
echo "Average load over the last minute: $load_1min"
echo "Number of runnable processes this instant: $load_inst_cur of $load_inst_tot"

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...