在Linux中获取开放文件描述符的限制我感到很困惑。
哪个值是正确的?
ulimit -n
======> 65535
但
vim /etc/security/limits.conf
答案 0 :(得分:4)
/etc/security/limits.conf
中应用的限制由限制认证模块在登录时应用,如果它是PAM配置的一部分。然后调用shell,它可以将它自己的限制应用于shell。
如果你问的是哪一个有效,那么它就是ulimit
电话的结果。如果未使用-H
选项调用,则显示软限制。
limits.conf
设置背后的想法是有一个全局位置来应用限制,例如远程登录
答案 1 :(得分:2)
文件描述符之类的限制可以在用户级别或系统级别设置。您可以在/etc/security/limits.conf
设置用户级别限制,这可能是每个用户的不同限制,或者只是适用于所有用户的默认值。您显示的示例的软(〜警告)级别限制为50000,但硬(绝对最大)限制为90000。
但是,可能存在系统限制65535,这将优先于用户限制。我认为系统限制是在/etc/sysctl.conf
中设置的,如果我的记忆正常。您可以在那里查看是否受到系统的限制。
此外,ulimit
命令可以使用开关专门显示文件描述符的软(-Sn)和硬(-Hn)限制。
答案 2 :(得分:0)
我认为这个conf被系统中的所有应用程序使用。如果你想更改一个特定的应用程序,你可以尝试setrlimit()或getrlimt()。男人doc剂量解释一切。