この記事はLinux Advent Calendar 2014の2日目の記事です。 プログラムの中でロードアベレージとかメモリの空き容量を見るのにどうしようかなーと思っていて見つけたのがsysinfo(2)です。 使い方は至って単純でsysinfo構造体のアドレスをsysinfo(2)に渡せば情報が入ってくるのであとはご自由にという感じでいけます。 cだとこんな感じです。SI_LOAD_SHIFTは/usr/include/linux/sysinfo.hにて定義されています。 #include <stdio.h> #include <sys/sysinfo.h> #define LOAD_AVERAGE(x) x / (double)(1 << SI_LOAD_SHIFT) int main(int argc, char **argv) { struct sysinfo info = {