我的 Rails 日志中的"object allocation during garbage collection phase"是什么意思?



我正在尝试在 IBM Bluemix 上运行一个 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

这是什么意思? 我对如何调试它,甚至问题出在哪里有点不知所措。 我的应用代码有问题吗? 配置问题?

不确定我是否已经包含了足够的错误日志来在这里有所帮助。 其余的在这里:

http://pastebin.com/Jv6jUksv

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

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

cf push -m 1G

您可以在开发人员论坛中提出关于 Bluemix 支持以快速解决问题的票证/提问

这个问题(如果 ruby 2.0.0 有问题并且如果其高级版本工作正常

为您(:

https://developer.ibm.com/bluemix/support/

有没有办法查看此错误消息前后的内存使用情况?

我得到了错误

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

具有显式内存限制(可能类似于 IBM Bluemix(的环境中使用 Ruby 1.8.7,当超出这些内存限制时。我的记忆受到PBS指令的限制。

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

最新更新