在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, 可以找到更多的资料.
留言 (2)
系统里我都部署过了
Posted by Fenng | May 4, 2008 10:40 AM
借宝地问一下:我本机安装了oracle 8i,已关闭监听,网络上的其他机子是否可以侦查到我安装的数据库?
//公司屏蔽了论坛
Posted by leniz | May 5, 2008 4:34 PM