在AIX下可以用libperfstat包来方便地取得Load Average的三个值.

#include <stdio.h>
#include <sys/time.h>
#include <sys/proc.h>
#include <libperfstat.h>

int main(int argc, char *argv[])
{
  perfstat_cpu_total_t cpu_total_buffer;
  perfstat_cpu_total(NULL, &cpu_total_buffer,
          sizeof(perfstat_cpu_total_t), 1);
  while(1 == 1)
  {
    sleep(10);
    perfstat_cpu_total(NULL, &cpu_total_buffer,
        sizeof(perfstat_cpu_total_t), 1);
    printf(“%5.2f,%5.2f,%5.2f\n”,
        1.0*cpu_total_buffer.loadavg[0]/(1<< SBITS),
  1.0*cpu_total_buffer.loadavg[1]/(1<< SBITS),
        1.0*cpu_total_buffer.loadavg[2]/(1<< SBITS));
  }
}

    在编译时用如下选项:

gcc -l perfstat …

    在Google中找一下libperfstat, 可以找到更多的资料.