Я думаю, питання полягає в тому, чи можу я якось обчислити відсоток використання процесора, просто прочитавши / proc / stat один раз?
# head -1 /proc/stat
cpu 67891300 39035 6949171 2849641614 118251644 365498 2341854 0
Я замислююся про підсумовування стовпців, крім IOWait (я десь читав, що це рахується в режимі очікування), і це дасть мені 100%, і кожен окремий стовпець міг би бути перетворений на відсоток на (стовпчик / 100_процент) * 100.
- користувач: нормальні процеси, що виконуються в режимі користувача
- приємно: niced процеси, що виконуються в режимі користувача
- система: процеси, що виконуються в режимі ядра
- холостий: великі пальці
- iowait: очікування завершення вводу / виводу
- irq: обслуговування перериває
- softirq: обслуговування softirqs
- красти: мимоволі чекати
- гість: працює звичайний гість
- guest_nice: запуск набраного гостя
Це життєздатний підхід чи я зовсім позаду?