ロードアベレージをC言語で取得してみる

aptをいじっていた流れでgetloadavg(3)というのがあるのを知ったのでメモ。
まあ、だからどうしたという内容だけど、存在自体知らなかったしブログのネタが無いので書いただけです。


ソースは下のサイトのをほぼ、そのまま使用。
http://blogs.oracle.com/yappri/entry/loadavg

#define _BSD_SOURCE
#include <stdio.h>
#include <stdlib.h>

int main(void) {
	double loadavg[1024];

	getloadavg(loadavg, 1024);
	printf("  1MIN : %f\n  5MIN : %f\n 15MIN : %f\n\n", loadavg[0], loadavg[1], loadavg[2]);

	return 0;
}


ヘッダはLinuxはstdlibに入っているらしい。
LOADAVG_NSTATSというのは無かったので適当に1024にしてみた。


コンパイルと実行

$ gcc -o loadavg loadavg.c
$ ./loadavg
  1MIN : 0.010000
  5MIN : 0.010000
 15MIN : 0.000000