相关疑难解决方法(0)

diff一个ruby字符串或数组

如何在Ruby中进行两个字符串或数组的差异?

ruby diff

54
推荐指数
7
解决办法
4万
查看次数

内存在一个空的Rails应用程序中无限增长

我无法弄清楚为什么我的Rails应用程序(托管在Heroku(雪松)上)不断分配越来越多的内存.如果我不知道更好,我会说这是Ruby/Rails中的内存泄漏,但由于我是Ruby/Rails的新手,我觉得我错过了一些完全明显的东西.

我正在使用由生成的Rails默认值rails new,以及完全最新的gem:

source 'https://rubygems.org'

gem 'rails', '3.2.8'

group :development do
  gem 'sqlite3'
end

group :assets do
  gem "sass-rails", "~> 3.2.5"
  gem "coffee-rails", "~> 3.2.2"
  gem "uglifier", "~> 1.3.0"
end

gem "jquery-rails", "~> 2.1.2"

group :production do
  gem 'newrelic_rpm'
  gem "pg", "~> 0.14.1"
end
Run Code Online (Sandbox Code Playgroud)

我正在使用默认的newrelic配置.我有零模型和一个控制器nothing_controller.rb,它是使用rails generate controller nothing以下生成的:

class NothingController < ApplicationController
  def index
  end
end
Run Code Online (Sandbox Code Playgroud)

我删除public/index.html并添加了一个空views/nothing/index.html.erb.我对生成的应用程序做的唯一其他事情是添加一个路由routes.rb:

Nothing::Application.routes.draw do
  root :to => "nothing#index"
end
Run Code Online (Sandbox Code Playgroud)

我承诺,把它推到Heroku,然后写了一个快速的脚本,每隔10秒加载我的Heroku页面.这就是我的New Relic报道的内容: …

ruby-on-rails heroku ruby-on-rails-3

19
推荐指数
2
解决办法
2676
查看次数

Rails中内存泄漏的主要因素

我试着用Rails解决内存泄漏问题.我可以通过New Relic看到内存的使用量在增加而不会减少.

这是一个来自大线程(Rails应用程序内存不断增加)的衍生问题,我在解决问题时遇到了麻烦.我现在需要知道的只是:

Rails内存泄漏的主要原因/因素是什么?

据我所理解:

  • 全局变量(例如@@ variable) - 我没有这些变量

  • 符号(我没有特别创建)

  • 会议 - 在这里应该避免什么?假设我有一个会话,跟踪一个特定用户在文本搜索网站时使用的最后一个查询.我该怎么杀掉它?

  • "留下参考资料" - 这究竟意味着什么?你举个例子吗?

  • 您可以提供的任何其他错误的编码示例通常会造成内存泄漏?

我想用这些信息来查看我的代码,所以请提供示例!

最后,这会是"内存泄漏代码"吗?

ProductController
...
@last_products << Product.order("ASC").limit(5)
end
Run Code Online (Sandbox Code Playgroud)

这会让@last_products膨胀吗?

memory-leaks ruby-on-rails

6
推荐指数
1
解决办法
1168
查看次数