答案 0 :(得分:1)
也许一个好方法是从Tracer lib开始
与
一起使用ruby -rtracer
或 strace
带有-f标志的Linux上的,跟随分支
truss
在具有相同标志的BSD上
答案 1 :(得分:1)
没试过,但昨天看到这个新图书馆get_process_mem。
答案 2 :(得分:0)
如果您对current_process_memory_size感兴趣,可以实施方法#memstats(感谢Avdi Grimm和他的rubytapas课程)。
require 'csv'
def memstats
size = `ps -o size= #{$$}`.strip.to_i
p "Size: #{size}"
end
memstats # => "Size: 5168"
CSV.open('simple.csv', headers: true) do |csv|
visitors = csv.each
memstats # => "Size: 5170"
p visitors.count{|v| v} # => 168
end
memstats # => "Size: 5168"
$$是ruby中的special variable,它允许您获取当前进程的数字进程ID