libprocで空きメモリ容量を取得してみる

空きメモリ容量取るのってprocfsかsysfsを読みに行かないといけないのかなーとか思ってprocpsを眺めてみたらライブラリあるのね。

#include <proc/sysinfo.h>
#include <stdio.h>

int main(void)
{
	meminfo();
	printf("free:%luMB cached:%luMB\n",
		   (kb_main_free << 10) >> 20,
		   (kb_main_cached << 10) >> 20);
	return 0;
}
$ gcc -o free free.c -lproc
$ ./free 
free:1170MB cached:3381MB