我在这里和那里看到了关于在使用Node时在Linux中设置ulimit -n(文件句柄)的少量讨论。大多数Linux发行版的默认值是1024.我无处可寻。通常对于apache你会设置得相当高。有什么想法吗?容易设置它开始,但不确定是否有需要。我们远程使用Mongo,而不是在本地打开很多文件。
答案 0 :(得分:3)
我从AWS支持部门收到了这个答案,并且有效:
对于容器,每个beanstalk实例都是一个带有beanstalk软件的容器,它将在启动时下载您的应用程序,并根据环境类型和应用程序上的.ebextensions文件夹修改系统参数。
因此,为了实现我的建议,您需要在应用程序上创建一个.ebextensions,其中包含我提到的内容。
作为回顾,请在您的应用程序的.ebextensions文件夹中创建一个名为app.config的文件,其中包含以下(更新的)内容:
files:
"/etc/security/limits.conf":
mode: "00644"
owner: "root"
group: "root"
content: |
* soft nofile 20000
* hard nofile 20000
commands:
container_commands:
command: "ulimit -HSn 20000; service httpd restart;"
添加此文件后,保存项目并进行新部署。
对于ssh,如果要运行具有更多限制的用户,可以在登录后运行以下命令: sudo su -c“ulimit -HSn 20000; su - ec2-user”
当前的会议将有你想要的限制。
供参考: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#customize-containers-format-services https://unix.stackexchange.com/questions/29577/ulimit-difference-between-hard-and-soft-limits http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/