Узнать загрузку процессора в Linux

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

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

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

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

cat <(grep 'cpu ' /proc/stat) <(sleep 1 && grep 'cpu ' /proc/stat) | awk -v RS="" '{print (-+-)*100/(-+-+-)}'

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

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

не превышает 25%, я считаю, что весьма маловероятно

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

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

20
задан Daniel Jørgensen
23.02.2023 12:29 Количество просмотров материала 3618
Распечатать страницу

1 ответ

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

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

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

0
отвечен Overmind 2023-02-24 20:17

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх