/proc/stat
не только подсчитывает количество процессов на каждом ядре.man proc
скажет вам точный формат этого файла.Скопированный из него, вот часть, которая вас может заинтересовать:
/proc/stat
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 user mode, user mode with low priority
(nice), system mode, and the idle task, respectively.
The last value should be USER_HZ times the second entry
in the uptime pseudo-file.
Тогда легко сделать вычитание поля idle
между двумя мерами, что даст вам время, потраченное без выполнениячто-нибудь от этого процессора.Другое значение, которое вы можете извлечь, - это время на выполнение чего-либо, которое представляет собой разницу между двумя показателями:
time in user mode + time spent in user mode with low priority + time spent in system mode
Тогда у вас будет два значения;один, А, выражает время, ничего не делая, а другой, Б, время фактически делает что-то.B / (A + B)
даст вам процент времени, когда процессор был занят.