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

Я пробовал следующие команды, пока система запускает сервер Minecraft. Несколько напряженная задача, когда на ней запущен Raspberry Pi:

echo $[100-$(vmstat 1 2|tail -1|awk '{print $15}')]

Если я запускаю эту команду каждую секунду, я получаю все от 0% до 80%. Не уверен, что это надежно.

cat <(grep 'cpu ' /proc/stat) <(sleep 1 && grep 'cpu ' /proc/stat) | awk -v RS="" '{print ($13-$2+$15-$4)*100/($13-$2+$15-$4+$16-$5)}'

Это дает только результат от 0% до 2%

grep -P '^processor' /proc/cpuinfo|wc -l

Никогда не получает более 25%, что я тоже считаю маловероятным

Я читал, что top не показывает фактическое использование процессора, но что-то с использованием процессора между обновлениями или что-то в этом роде.

Есть ли другой путь ? Желательно решение, где мне не нужно ничего устанавливать ..

1 ответ1

0

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

Если вам действительно нужна точность, вам нужно очень часто измерять и централизовать результаты. Таким образом, вы могли бы даже обнаружить шипы. Обратите внимание, что в зависимости от многих факторов, загрузка процессора не должна превышать 25%.

Для процессов вам придется использовать PID. Смотрите некоторые практические решения здесь .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .