我正在使用 Rails 3.1.1 并在 Heroku 上进行部署。我正在使用 open-uri 和 Nokogiri。
我正在尝试解决在尝试获取和解析 xml 文件时发生的内存泄漏 (?)。我正在获取并尝试解析的 XML 提要为 32 Mb。
我正在使用以下代码:
require 'open-uri'
open_uri_fetched = open(feed.fetch_url)
xml_list = Nokogiri::HTML(open_uri_fetched)
其中 feed.fetch_url 是一个外部 xml 文件。
似乎在使用 Nokogiri(我的代码中的最后一行)解析 xml_list 时,内存使用量激增至 540 Mb 使用量并继续增加。这似乎不合逻辑,因为 XML 文件只有 32 Mb。
我已经到处寻找更好地分析这一点的方法(例如ruby/ruby on rails 内存泄漏检测),但我不明白如何使用它们中的任何一个。MemoryLogic 看起来很简单,但安装说明似乎缺少一些信息......
所以,请帮助我确定上面的代码是否应该使用那么多内存或(超级简单)关于如何找到内存泄漏的说明。
提前致谢!