Linux
無法增加 ulimit -Hn,僅顯示 sudo su 會話
因此,我正在嘗試更改 Ubuntu18.04 筆記型電腦上文件描述符的硬限制。我已經嘗試了一切,但更改仍未生效。
我需要執行一個不斷拋出此錯誤的 go 程序。
too many open files
/etc/security/limits.conf
所以我根據這篇部落格文章對我的文件進行了一些更改https://medium.com/@muhammadtriwibowo/set-permanently-ulimit-n-open-files-in-ubuntu-4d61064429a這些是內容
limits.conf
* soft nproc 65535 * hard nproc 65535 * soft nofile 65535 * hard nofile 65535 root soft nproc 65535 root hard nproc 65535 root soft nofile 65535 root hard nofile 65535
而且我還更改了 /etc/pam.d/common-session 以添加行 session required pam_limits.so
我重新啟動終端並
ulimit -Hn
仍然顯示 4096 但是當我執行 sudo su 並執行相同的命令時它給了我 65535但是由於我沒有在 su 會話中執行我的 go 程序,它仍然對我不起作用,我需要將我的實際硬限制更改為所有使用者的更高值,而不僅僅是超級使用者
我究竟做錯了什麼?
你很親密。
添加需要這些值的使用者名。您只是為 root 設置了限制,現在為您需要的使用者設置它。
您可以添加使用者組等。從 Redhat 站點:
# vi /etc/security/limits.conf #<domain> <type> <item> <value> * - core <value> * - data <value> * - priority <value> * - fsize <value> * soft sigpending <value> eg:57344 * hard sigpending <value> eg:57444 * - memlock <value> * - nofile <value> eg:1024 * - msgqueue <value> eg:819200 * - locks <value> * soft core <value> * hard nofile <value> @<group> hard nproc <value> <user> soft nproc <value> %<group> hard nproc <value> <user> hard nproc <value> @<group> - maxlogins <value> <user> hard cpu <value> <user> soft cpu <value> <user> hard locks <value> <domain> can be: a user name a group name, with @group syntax the wildcard *, for default entry the wildcard %, can be also used with %group syntax, for maxlogin limit
在limits.conf 中設置使用者,註銷並重新登錄,看看是否有幫助。
joe soft nproc 65535 joe hard nproc 65535 joe soft nofile 65535 joe hard nofile 65535