使用可能なメモリが少なくなったときにユーザーに警告したい。現在sysconf(_SC_PHYS_PAGES)
、利用可能な物理ページ数を取得するために使用しています。
ただし、OS がバッファおよびキャッシュとして使用するメモリもあります。プログラムでそれらを取得するにはどうすればよいですか?
procps からの free コマンドがそれを行う方法は、/proc/meminfo
ファイルを読み取ることです。ソースはこちらで見ることができます。meminfo 関数は、グローバル、特に kb_main_buffers と kb_main_cached を更新します。おそらく、それらのコードを再利用して、必要なことを行うことができます。(ライセンスが互換性があると仮定します)