ロードアベレージを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