Ruby on rails 什么是;“垃圾收集阶段的对象分配”;我的意思是?

Ruby on rails 什么是;“垃圾收集阶段的对象分配”;我的意思是?,ruby-on-rails,ruby,ibm-cloud,Ruby On Rails,Ruby,Ibm Cloud,我正在尝试在IBMBlueMix上运行Rails应用程序,并使用Blitz.io对其进行负载测试。当我在浏览器中访问应用程序时,一切正常。然而,当Blitz试图访问它时,应用程序崩溃。日志条目如下所示: 2014-12-20T16:26:45.55-0500 [RTR] OUT **[my app name]**.mybluemix.net - [20/12/2014:21:26:43+0000] "GET / HTTP/1.1" 200 12784 "-" "blitz.io;

我正在尝试在IBMBlueMix上运行Rails应用程序,并使用Blitz.io对其进行负载测试。当我在浏览器中访问应用程序时,一切正常。然而,当Blitz试图访问它时,应用程序崩溃。日志条目如下所示:

2014-12-20T16:26:45.55-0500 [RTR]     OUT **[my app name]**.mybluemix.net -     [20/12/2014:21:26:43+0000] "GET / HTTP/1.1" 200 12784 "-" "blitz.io; e970e720c4f22c94f7d822731652a745@130.160.6.54" 75.126.70.42:54311 x_forwarded_for:"-" vcap_request_id:ba32f5d0-e157-4229-61f5-13eb7ab3d2d0 response_time:2.182336949 app_id:1e6ad01b-c7b4-4f57-8d9d-8d333807bb15

2014-12-20T16:26:46.60-0500 [App/0]   ERR /home/vcap/app/vendor/ruby2.0.0/lib/ruby/2.0.0/webrick/server.rb:284: [BUG] object allocation during garbage collection phase
这是什么意思?我不知道如何调试这个,甚至不知道问题出在哪里。我的应用程序代码有问题吗?配置问题

我不确定我是否包含了足够多的错误日志,以便在这里有所帮助。其余的在这里:


您可以在开发者论坛上提出关于bluemix支持的问题,以快速解决问题

(如果ruby 2.0.0出现问题,并且其高级版本工作正常

为您):


是否有办法查看出现此错误消息前后的内存使用情况

我发现了错误

[BUG]垃圾收集阶段的对象分配

在具有显式内存限制(可能类似于IBMBlueMix)的环境中使用Ruby 1.8.7,但超过了这些内存限制。我的记忆受到指令的限制


对我来说,在解析大量JSON时会发生错误,其中JSON gem需要的内存超过此特定JSON字符串的限制。

您可以在gem文件中指定要在应用程序中运行的Ruby版本。Bluemix中的Ruby构建包支持Ruby v2.1.x、v2.2及更多

但我想可能是因为你的应用程序超出了分配给你的应用程序的内存配额。Bluemix正在使用CloudFoundry,如果应用程序实例消耗的内存超过分配的内存,它将杀死该实例。您可以通过在执行“cf push”时指定“-m”选项来增加分配给应用程序的内存。例如:

cf push -m 1G

根据这一点,报告并固定在ruby 2.1.0.dev上;日志显示您正在使用ruby 2.0.0;尝试使用2.1.5Ruby。不幸的是,Bluemix似乎不支持2.0.0以上的ruby版本。我试着回到1.9.3。我不再收到这个确切的错误消息,但崩溃仍然存在。也许我需要寻找一个不同的托管平台。