Tag: 公羊

Ruby / Mechanize“无法分配内存”。 擦除’agent.get’方法的实例化?

关于在Mechanize Ruby脚本中泄漏内存我有一点问题。 我“while循环”多个网页永远访问,每个循环的内存增加很多。 在分钟后创建了“未能分配内存”并使脚本退出。 事实上,即使我将结果分配给相同的“局部变量”甚至是“全局变量”,似乎agent.get方法agent.get实例化并保存结果。 所以我尝试在最后一次使用之后和重用相同名称变量之前为变量分配nil 。 但似乎以前的agent.get结果仍在内存中,并且真的不知道如何耗尽RAM以使我的脚本在下class后使用大致稳定的内存量? 这是两个代码的和平:( 保持“输入”键并看到Ruby分配的RAM增长) #!/usr/bin/env ruby require ‘mechanize’ agent = Mechanize.new agent.user_agent_alias = ‘Windows Mozilla’ GC.enable #puts GC.malloc_allocations while gets.chomp!=”stop” page = agent.get ‘http://www.nypost.com/’ puts “agent.object_id : “+agent.object_id.to_s puts “page.object_id : “+page.object_id.to_s page=nil puts “page.object_id : “+page.object_id.to_s page = agent.get ‘http://www.nypost.com/’ puts “page.object_id : “+page.object_id.to_s page=nil puts “page.object_id : […]