簡體   English   中英

如何在 Amazon EC2 實例上增加 ulimit?

[英]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
  • 為 nproc/nofile 設置的更新限制
  • 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM