2

I try get cpu usages in mach kernel but i always get the same output. What i do wrong?

static mach_port_t port;

Get cpu load statistics

int
load_get(host_info_t r_load) {
   mach_msg_type_number_t count;

   count = HOST_CPU_LOAD_INFO_COUNT;
   host_statistics(port, HOST_CPU_LOAD_INFO, r_load, &count);

   return 0;
}


int main(void) {

   port = mach_host_self();

   host_cpu_load_info_data_t cpu;

   load_get((host_info_t)&cpu);

   unsigned long long userticks, systicks, idleticks, totalticks;
   unsigned long long userwhole, userpart, syswhole, syspart, idlewhole, idlepart;

Collect cpu ticks

   userticks = cpu.cpu_ticks[CPU_STATE_USER] + cpu.cpu_ticks[CPU_STATE_NICE];
   systicks = cpu.cpu_ticks[CPU_STATE_SYSTEM];
   idleticks = cpu.cpu_ticks[CPU_STATE_IDLE];

   totalticks = userticks + systicks + idleticks;

   return 0;
}

Thanks!

Kfur
  • 21
  • 1

0 Answers0