LINUX.ORG.RU

Команда для получения % загрузки CPU

 ,


0

1

Мигрирую Homeassistant с Alwinner A20 1Gb на Tanix W2 400 mb. Старый девайс 32bit и его дропают, новый 64bit, но у него битая память, обошёл строкой maxmem=486 в kernel cmdline. Нехватку памяти обошёл zswap+zram и лимитами в докере. На удивление хватает и для HA и для Adguardhome, всё летает. На новом девайсе есть экранчик, хочу вывести в него человеческие проценты загрузки CPU.

Подскажите однострочник для получения загрузки CPU в человеческом виде, просто цифры от 0 до 100.

Перемещено hobbit из general

Извините за оффтоп, но…

maxmem=486 в kernel cmdline

Она точно работает? Такой опции в cmdline нет https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html Зато есть memmap, которая в твоём случае будет более актуальна, поскольку позволяет указать битые участки памяти.

u5er ★★★
()

Зарузка измеряется за промежуток времени.

Cамое просто это считать загрузку по /proc/stat.
Берем первые 7 чисел первой строки и сохраняем.

Складываем 1,2,3,6,7 число из запомненного =>OLD_USE.

Через какое-то время берем еще раз 7 чисел первой строки.
Складываем 1,2,3,6,7 число =>NEW_USE.

(NEW_USE-OLD_USE)/<секунды между чтениями>/<число_ядер> = общая загрузка всех ядер за указанное время.

Аналогично можно подсчитать загрузку каждого ядра.

PS Для проверки:

складываем все 7 запомненных чисел => OLD_SUMM.
складываем все 7 чисел из последнего чтения => NEW_SUMM.
(NEW_SUMM-OLD_SUMM)/<секунды между чтениями>/<число_ядер> = 100

vel ★★★★★
()
Ответ на: комментарий от u5er

Ошибся, там просто mem. А memmap я пробовал и выяснил что выше 500 всё мертвое, похоже работает только 1-ый чип памяти из 4-ёх. Ну и 86 съедает cma, отключить через cma=0 не получилось, прописал mem=486, системе доступно ровно 400.

kcepokop
() автор топика

все просто - плагин для LXDE панели в реальном времени. И не только, может показать температуру в придачу.Нафига тебе команда.А если сада,то командная строка(proc).

nicholas_ru
()
Последнее исправление: nicholas_ru (всего исправлений: 3)
Ответ на: комментарий от nicholas_ru

Монитора нет, в корпусе девайса экран на 4 сегмента, в оригинале он время выводит, а я хочу в него выводить % загрузки проца командой echo. Да и зачем мне LXDE в Homeassistant’е )

kcepokop
() автор топика
Ответ на: комментарий от kcepokop

Попробуй сбросить частоту памяти в devicetree

Там ЕМНИП чипы памяти так расположены, что с ростом частоты более дальние отваливаются первыми в порядке очереди.

anonymous
()