【问题标题】:"Too Many Open Files" error on CloudfoundryCloudfoundry 上的“打开的文件太多”错误
【发布时间】:2013-02-15 07:01:04
【问题描述】:

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

【问题讨论】:

    标签: spring cloud-foundry


    【解决方案1】:

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

    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 组件,我们正处于过渡期。为故障道歉,但它们值得付出代价。感谢您的耐心等待。

    最好的,

    马特·赖德 产品经理 云铸造

    【讨论】:

    【解决方案2】:

    我以 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 个文件描述符以下,而这不太可能发生。

    【讨论】:

      猜你喜欢
      • 2011-09-06
      • 2019-02-23
      • 1970-01-01
      • 2014-06-23
      • 2016-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多