В linux я хотел бы знать, какой API-интерфейс "C" вызывать для получения статистики для каждого процессора.
Я знаю и могу прочитать /proc/loadavg
из моего приложения, но это общесистемные средние значения загрузки, а не информация для каждого процессора. Я хочу отличить отдельные процессоры или ядра.
В качестве примера приложения, которое делает это, когда я запускаю top
и нажимаю «1», я вижу 4 или 8 процессоров / ядер, таких как:
Cpu0 : 4.5%us, 0.0%sy, 0.0%ni, 95.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 42.2%us, 6.2%sy, 0.5%ni, 51.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 3.0%us, 1.5%sy, 0.0%ni, 94.5%id, 0.0%wa, 0.0%hi, 1.0%si, 0.0%st
Cpu3 : 7.0%us, 4.7%sy, 0.0%ni, 88.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Я пытался strace top
, но это привело к гнезду крысы.