在SSH进入运行Amazon Linux AMI的EC2实例后,我尝试:
ulimit -n 20000
...and出现以下错误:
-bash: ulimit: open files: cannot modify limit: Operation not permitted
但是,shell允许我仅在当前会话中使用这个数字。
有没有办法增加EC2实例上的ulimit (permanently)
发布于 2012-07-05 21:23:37
实际上,通过ulimit
命令更改值只适用于当前的shell会话。如果要永久设置新限制,则必须编辑/etc/security/limits.conf
文件并设置硬限制和软限制。下面是一个例子:
# <domain> <type> <item> <value>
* soft nofile 20000
* hard nofile 20000
保存文件,注销,重新登录,并通过ulimit -n
命令测试配置。希望能有所帮助。
附注1:请牢记以下几点:
P.S. 2:/etc/security/limits.d/
中的其他文件可能会影响在limits.conf
中配置的内容。
发布于 2019-10-26 03:55:42
谢谢你的回答。对我来说,仅仅更新/etc/security/limits.conf是不够的。只有'open files‘ulimit -n正在更新,而nproc没有更新。在更新/etc/security/limits.d/whateverfile之后,nproc "ulimit -u“也得到了更新。
步骤:
为nproc/ nofile
sudo vi /etc/security/limits.conf
设置的
sudo vi /etc/security/limits.d/whateverfile
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
重新启动计算机sudo reboot
的
附言:我无法将其添加为评论,因此只能将其作为答案发布。
发布于 2021-02-04 09:25:47
我没有足够的推荐点到comment...sorry进行新鲜的回复,但也许这会让一些人不会浪费一个小时。
维克卡里的回答终于解决了我的这个头疼问题。所有其他来源都会告诉您编辑limits.conf文件,如果这样做不起作用,则添加
session required pam_limits.so
添加到/etc/pam.d/common-session
文件
不要这样做!
我正在运行一个Ubuntu18.04.5SSH实例,这将我完全排除在EC2之外。我可以登录,但就在它要提示我的时候,它断开了我的连接(我甚至看到了所有的欢迎消息和东西)。Verbose将此显示为最后一个错误:
fd 1 is not O_NONBLOCK
我找不到答案来解释这是什么意思。因此,在关闭实例后,等待大约一个小时来创建卷的快照,然后将其挂载到另一个正在运行的实例上,我删除了对common-session
文件的编辑,然后bam,SSH登录再次生效。
对我有效的修复方法是在/etc/security/limits.d/
文件夹中查找文件,然后编辑这些文件。
(不,我不需要重新启动来获得新的限制,只需注销并重新登录)
https://stackoverflow.com/questions/11342167
复制相似问题