Centos中的打开文件限制会影响HTTP连接吗? 限制是否适用于单个会话或所有会话?

当我做了一个ulimit -n我有256,我认为这意味着我可以在同一时间打开256个文件。 这是否意味着我可以在一个会话中打开256个文件? 或所有会议?

例如,我使用用户名“abc”(通过putty / ssh)login到我的服务器,并打开200个文件,会话仍在运行,我再次login到同一个服务器,使用相同的用户名“abc”(通过putty / ssh ),我只能打开另外56个文件? 或者我可以打开另外的256个文件?

最后,这个限制是否也限制了http连接的数量? 例如上面的例子中,我打开了200个文件,然后使用“wget”或“curl”来build立http连接。

谢谢

ulimit是bash内build的,所以它只适用于shell,特别是当前shell创build的任何进程。 因此,如果您因为任何原因而改变它,您将不得不以持续的方式来做到这一点。

您可能需要检出/etc/security/limits.conf文件,以便在每个用户的基础上设置会话限制。 (这似乎是CentOS的首选方法)

您可以使用lsof -P | grep $somepid查看打开的文件 lsof -P | grep $somepid命令

Linux系统限制每个进程打开文件描述符的数量。

对于大多数网站来说,256似乎已经足够了,如果你使用Apache预先制作MPM。

要增加限制,您需要在/etc/security/limits.conf添加一行,以允许某个用户或组的进程增加默认值。 之后,PAM会在您login的时候将其设置为最大值。但是这对于Apache来说是不够的,因为它不会“login”。

在启动Apache之前,您还需要增加这个值。 在CentOS中,您可以编辑/etc/init.d/apache2脚本,并将ulimit -n XXXXXX放入start()函数的开始位置。

您可以在/proc/<PID>/limits检查运行进程的/proc/<PID>/limits ,打开的文件描述符列表位于/proc/<PID>/fd/