CubicLouve

Spring_MTの技術ブログです。https://github.com/SpringMT (http://spring-mt.tumblr.com/ からの移転)

Macで自分のRubyのプロセスのrssを調べるには

bugs.ruby-lang.org

このチケットをみていて、Macで同じことをどうやるか?を考えてみました。

Macには/procがありません。

% ruby -rzlib -e'END{puts File.readlines("/proc/self/status").grep(/RSS/)}' -e'd=Zlib.gzip("data"); 100_000.times{Zlib.gunzip(d)}' 
-e:1:in `readlines': No such file or directory @ rb_sysopen - /proc/self/status (Errno::ENOENT)
    from -e:1:in `block in <main>'

なので、psコマンド経由でrssを取得します。

% ruby -rzlib -e'END{puts `ps -o rss= -p #{Process.pid}`.to_i}' -e'd=Zlib.gzip("data"); 100_000.times{Zlib.gunzip(d)}'
927852

(rssはデフォルトの単位はkB)

他にいい方法あるかな。。。