我有一个Ruby应用程序,在Linux上使用/proc文件系统获取其内存使用情况的信息。 有谁知道如何在Mac OSX上获取相同信息?task_info系统调用看起来很有前途,但是是否有Ruby可用的等效调用呢?
明确一下,我正在寻找系统调用,我不想为此启动进程(抱歉Lars!)。
引自http://laurelfan.com/2008/1/15/ruby-memory-usage:
memory_usage = `ps -o rss= -p #{Process.pid}`.to_i # in kilobytes
已验证可在Linux和OS X上运行。
此代码返回进程在内存中占用的字节数,不包括任何被交换出去的字节。
若要获取包括交换空间的总虚拟内存大小,请将 rss
改为 vsz
(已在Linux下测试,但未在OSX下测试):
memory_usage = `ps -o vsz= -p #{Process.pid}`.to_i # in kilobytes
OS gem有一个rss_bytes方法,适用于Linux/Windows/OS X...