我有一个名为 large.zip(大约 1GB)的大文件存储在公用文件夹中。每当我尝试从 localhost (localhost:3000/large.zip) 下载它时,我都会收到以下错误消息
[2013-08-24 22:22:28] ERROR NoMemoryError: failed to allocate memory
E:/RubyStack/ruby/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/handler/w
ebrick.rb:72:in `block in service'
E:/RubyStack/ruby/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/file.rb:1
25:in `block in each'
E:/RubyStack/ruby/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/file.rb:1
17:in `open'
E:/RubyStack/ruby/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/file.rb:1
17:in `each'
E:/RubyStack/ruby/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/handler/w
ebrick.rb:71:in `service'
E:/RubyStack/ruby/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
E:/RubyStack/ruby/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
E:/RubyStack/ruby/lib/ruby/1.9.1/webrick/server.rb:191:in `block in star
t_thread'
下载在 43619924 字节(约 400MB)处停止。我的电脑是 8GB RAM,我使用 ruby 1.9.3、rails 3.2.14 和 webbrick 作为网络服务器。我认为分配内存的大小(400MB?)有一些限制。那么有没有办法增加这个限制呢?或者如何解决这个问题?
编辑:我只是使用 rails new 创建了一个 rails 应用程序,然后将 large.zip 文件复制到公用文件夹中。然后我在 Chrome 上打开链接 localhost:3000/large.zip 以下载它(再次)。