0

运行我的应用程序大约 5 分钟后,我收到可怕的“打开的文件过多”错误。这对我来说是一个展示者。我知道有 256 个打开文件的限制。如果我有泄漏,我运行 lsof 来追踪。我发现许多打开的句柄只是 Tomcat 和其他进程必须建立的简单连接。“nginx”进程似乎是唯一一个波动的进程,但它仍然只能达到 81 左右的最大值。我的应用程序似乎没有泄漏文件描述符。我非常喜欢 Cloud Foundry。这是第一个不需要我重构我的应用程序来使事情正常运行的 PAAS。文件限制什么时候提高?我使用 Micro Cloud Foundry 进行测试,但我想尽快在 Hosted Cloud Foundry 上运行。我在两个版本中都收到此错误。有没有解决的办法?我尝试修改 Micro Cloud 实例的限制,但我收到错误消息,提示我无权进行此类更改。对此有任何帮助或建议吗?

4

2 回答 2

2

新的文件描述符配额在以下数据库迁移中:

https://github.com/cloudfoundry/cloud_controller_ng/blob/master/db/migrations/20130131184954_new_initial_schema.rb

185 号线。

直到 4 月我们从 beta 状态出现并且我们的“下一代”组件投入生产时,此特定设置才会在我们的http://cloudfoundry.com上生效。

如果您运行自己的 Cloud Foundry 版本,则可以运行此迁移,假设您使用的是 cloud_controller_ng。

我们在内部用于开发的 Micro Cloud Foundry 中确实有新的云控制器。您可以在此处阅读我们如何为自己的目的运行它:

随着我们弃用遗留位并转向这些 NG 组件,我们正处于一个过渡期。为故障道歉,但它们值得付出代价。谢谢你的耐心。

最好的,

Matt Reider 产品经理 Cloud Foundry

于 2013-02-14T23:01:04.840 回答
0

我以 root 用户身份登录。我修改了 /var/vcap/packages/dea/dea/lib/dea/agent.rb 文件和 /etc/security/limits.conf 文件。

对于 agent.rb 文件,我按照此处的说明进行操作:http: //mdahlman.wordpress.com/2012/04/20/micro_cloud_foundry/

对于limits.conf文件,我按照这里的说明操作:http: //myadventuresincoding.wordpress.com/2010/10/09/ubuntu-increasing-the-maximum-number-of-open-files/

我不确定哪个修复有帮助,或者是否需要修改这两个文件。该应用程序现在似乎正在运行,所以我继续前进。如果有人有更好的解决方案,我会很高兴听到。

这仅允许我在自托管的微型云代工厂上运行我的应用程序。如果有人有托管版本的解决方案会更好。不幸的是,我必须找到一些方法来限制我的应用程序使用 256 个文件描述符,而这不太可能发生。

于 2013-02-14T15:41:21.810 回答