为webapp用户增加弹性beantalk EC2实例上的打开文件限制

问题描述

我遇到了webapp用户在AWS Elastic Beanstalk上的服务器进程(产生goroutine)的打开文件限制。

在我的本地环境中,开放的FD限制为8k,我能够很好地处理此问题,但是我无法提高AWS Elastic Beanstalk上webapp EC2用户的限制。 / p>

按照在AWS Elastic Beanstalk上进行Golang开发的说明,对于procfile流程,我有一个web,看起来像:

web: bin/server.sh

server.sh是:

#!/bin/bash

ulimit -n 32768
./bin/server
exit 0

我在标准输出日志中得到了错误

web: bin/server.sh: line 3: ulimit: open files: cannot modify limit: Operation not permitted

通过使用.ebextensions文件夹中的文件,可以在部署过程中的较早位置执行此实例的硬/软限制,如此处的示例所示:{{3 }},但这对webapp用户启动的我的应用程序没有任何影响。

谢谢。

编辑:我意识到我的最后一个问题并不明显。由于似乎webapp用户没有更改此类限制的权限,如何在Elastic Beanstalk上实现此更改?

解决方法

通过遵循here

提出的概念,我能够解决此问题

所以我的server.sh如下:

#!/bin/bash

ulimit -Sn unlimited
./bin/server
exit 0

现在,我的Web进程打开的文件过多没有任何问题。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...