阿帕奇 – 突然“太多打开的文件”

所以我们有一个运行在Linux中的Apache服务器,没有问题。

昨天我们重新启动了一个服务器,从那以后我们注意到apache进程打开文件的数量一直在增加,直到服务器在几个小时后没有收到填充错误日志的错误的请求:

(24)Too many open files: file permissions deny server access: /var/www/html/*X* (24)Too many open files: /var/www/html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable 

我们检查打开的文件,我们注意到它真的达到了极限(设置为4096)。 我们可以增加限制,但这只会增加正常运行时间,并不能解决问题,因为这种行为是不正常的。 没有额外的负载。

并检查打开的文件,我们注意到,exception增加的打开文件是unix套接字,即lsof -p PID充满:

 httpd 19848 apache 13u unix 0xffff880238a63380 0t0 204055 socket httpd 19848 apache 14u unix 0xffff8800aa3123c0 0t0 204183 socket httpd 19848 apache 15u unix 0xffff880037a0acc0 0t0 204201 socket 

我不是一个有经验的Linuxpipe理员(pipe理员目前不在),所以我不能确定如何进一步调查问题。

是的,我经历了许多相关的问题,但没有达到什么地方。

使用ss命令更新testing显示许多套接字如下:

 u_str UNCONN 0 0 * 331727 * 0 u_str UNCONN 0 0 * 331729 * 0 u_str UNCONN 0 0 * 331731 * 0 u_str UNCONN 0 0 * 331733 * 0 u_str UNCONN 0 0 * 331735 * 0