Вы можете отслеживать /proc/stat
и наблюдать за средними и максимальными значениями. У этого ответа есть сценарий bash для вашего вдохновения, и ваш man proc
должен быть похож на это:
/proc/stat
kernel/system statistics. Varies with architecture. Common entries
include:
cpu 3357 0 4313 1362393
The amount of time, measured in units of USER_HZ (1/100ths of
a second on most architectures, use sysconf(_SC_CLK_TCK) to
obtain the right value), that the system spent in various
states:
user (1) Time spent in user mode.
nice (2) Time spent in user mode with low priority (nice).
system (3) Time spent in system mode.
idle (4) Time spent in the idle task. This value should be
USER_HZ times the second entry in the /proc/uptime
pseudo-file.
iowait (since Linux 2.5.41)
(5) Time waiting for I/O to complete.
irq (since Linux 2.6.0-test4)
(6) Time servicing interrupts.
softirq (since Linux 2.6.0-test4)
(7) Time servicing softirqs.
steal (since Linux 2.6.11)
(8) Stolen time, which is the time spent in other
operating systems when running in a virtualized envi‐
ronment
guest (since Linux 2.6.24)
(9) Time spent running a virtual CPU for guest operat‐
ing systems under the control of the Linux kernel.
guest_nice (since Linux 2.6.33)
(10) Time spent running a niced guest (virtual CPU for
guest operating systems under the control of the Linux
kernel).
[Источник: man
& Получить загрузку ЦП для каждого ядра в сценарии оболочки ]