[英]How to increase ulimit on Amazon EC2 instance?
在通過 SSH 連接到運行 Amazon Linux AMI 的 EC2 實例后,我嘗試了:
ulimit -n 20000
...並出現以下錯誤:
-bash: ulimit: open files: cannot modify limit: Operation not permitted
但是,shell 允許我僅針對當前會話減少此數字。
無論如何(永久地)增加EC2 實例上的 ulimit ?
事實上,通過ulimit
命令更改值僅適用於當前 shell 會話。 如果要永久設置新限制,則必須編輯/etc/security/limits.conf
文件並設置硬限制和軟限制。 這是一個例子:
# <domain> <type> <item> <value>
* soft nofile 20000
* hard nofile 20000
保存文件,注銷,再次登錄並通過ulimit -n
命令測試配置。 希望能幫助到你。
PS 1:請記住以下幾點:
PS 2: /etc/security/limits.d/
中的其他文件可能會影響limits.conf
中的配置。
謝謝你的回答。 對我來說,僅僅更新 /etc/security/limits.conf 是不夠的。 只有“打開的文件” ulimit -n 得到更新,而 nproc 沒有得到更新。 更新 /etc/security/limits.d/whateverfile 后,nproc "ulimit -u" 也更新了。
腳步:
sudo vi /etc/security/limits.d/whateverfile
sudo vi /etc/security/limits.conf
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
sudo reboot
PS 我無法將其添加為評論,因此不得不發布為答案。
我沒有足夠的代表點數來發表評論...很抱歉收到新回復,但也許這可以避免有人浪費一個小時。
Viccari的回答終於解決了我這個頭疼的問題。 每個其他來源都告訴您編輯 limits.conf 文件,如果這不起作用,請添加
session required pam_limits.so
到/etc/pam.d/common-session
文件
不要這樣做!
我正在運行一個 Ubuntu 18.04.5 EC2 實例,這使我完全無法使用 SSH 。 我可以登錄,但是當它要讓我進入提示時,它就斷開了我的連接(我什至看到了所有的歡迎信息和其他東西)。 詳細顯示這是最后一個錯誤:
fd 1 is not O_NONBLOCK
我找不到這意味着什么的答案。 因此,在關閉實例后,等待大約一個小時為卷創建快照,然后將其安裝到另一個正在運行的實例,我刪除了對common-session
文件的編輯,然后 bam,SSH 登錄再次工作。
對我有用的修復方法是在/etc/security/limits.d/
文件夾中查找文件,然后編輯這些文件。
(不,我不需要重新啟動來獲得新的限制,只需注銷並重新登錄)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.