Raising Maximum Number of File Descriptors

查看文件描述符数量

ulimit控制shell和从shell启动的进程的可用资源。使用如下命令显示全局最大文件描述符:

cat /proc/sys/fs/file-max

查看当前shell下最大软硬文件描述符命令如下

ulimit -Hn
ulimit -Sn

系统范围内文件描述符限制

在linux系统下,系统范围内同时可打开的最大文件数可以在/etc/sysctl.conf中修改。

最大文件描述符达到了最大限制怎么办?

许多应用程序比如Oracle或Apache需要描述符上限非常高,所以我们可以通过修改/proc/sys/fs/file-max内核变量设置一个新的数值:

# sysctl -w fs.file-max=100000

以上设置在重启后会恢复到原来的值,如果想重启也能保留修改后的值,需要编辑/etc/sysctl.conf

fs.file-max=100000

保存之后需要重新登录或者输入以下命令使修改生效:

#sysctl -p

用户级别的文件描述符

上述过程设置了系统范围的文件描述符。然而,你可以设置httpd用户为某个指定的数值通过编辑/etc/security/limits.conf文件:

# vi /etc/security/limits.conf

设置httpd用户的软硬限制如下(httpd是用户名):

httpd soft nofile 4096
httpd hard nofile 10240

保存并关闭文件,输入以下命令查看是否生效:

# su  httpd
$ ulimit -Hn
$ ulimit -Sn

经过以上修改,在有些系统中,用一般用户再登陆,仍然没有修改过来,那么需要检查是否有如下文件,如果没有,则要添加如下内容:

# vim /etc/pam.d/sshd
[Add the line]
session    required   /lib/security/pam_limits.so

可能需要
# service sshd restart

如果仍然不行,那么需要修改如下文件:

# vim /etc/ssh/sshd_config
[May need to modify or add the line]
UsePrivilegeSeparation no

发表评论

电子邮件地址不会被公开。

ERROR: si-captcha.php plugin: GD image support not detected in PHP!

Contact your web host and ask them to enable GD image support for PHP.

ERROR: si-captcha.php plugin: imagepng function not detected in PHP!

Contact your web host and ask them to enable imagepng for PHP.