こないださんざん色々としらべて、MacOS とかで空きメモリ容量を取得する方法をみつけたわけだが、top のソースとか見ればいいんじゃん、ということに気づいた (いまさら遅いぜ!)。FreeBSD は /usr/src にある top のソースを読んだのだが、当然 FreeBSD なコード以外はないわけで、どうしよう、とか思ってたのだ。
んで、ちょっと調べたところ、top の最新版は http://www.unixtop.org/ で配布されており、いまでもちゃんと開発が続けられている。
結論からいうと、
– Solaris: kvm_read() とか使う
– Linux: procfs を読んで parse する
のが妥当な感じだ。procfs は便利だけど、テキストファイルを読むプログラムを書かなきゃいけない、ってのは面倒ですね。
top-3.6beta5 とか、MacOS X で make してみたのだが、最近の MacOS では struct vmspace が deprecated になってるようで、どうしたらいいんだかわからんちーん。
空きメモリ容量その後
こないださんざん色々としらべて、MacOS とかで空きメモリ容量を取得する方法をみつけたわけだが、top のソースとか見ればいいんじゃん、ということに気づいた (いまさら遅いぜ!)。